Performance tuning
This topic provides recommendations for tuning your environment for the best performance. These recommendations are based on the testing results obtained for the embedded PostgreSQL database.
Advanced configuration settings
This section contains information about the advanced configuration settings for TrueSight Network Automation.
Right-sizing the Java heap
Use the following guidelines to estimate the setting for initial and maximum memory based on the number of devices. The actual values depend on how your system is used. If required, these values can be adjusted later.
Number of devices | Recommended initial memory | Recommended maximum memory |
---|---|---|
Up to 1000 | 1024 MB | 2048 MB |
1001–5000 | 1024 MB | 4096 MB |
5001–25,000 | 1024 MB | 16,384 MB |
Setting maximum threads and database connections
The administrator can set the maximum number of threads that can be concurrently running by setting the maxConcurrentDeviceActions parameter in the global.properties.imported file.
# Maximum number of device action threads that can be executing concurrently
# at any one time via our DeviceTaskManager thread pooling mechanism. Note
# the system will force the maximum number of allowed db connections
# (versant.maxActive) to be:
# 2 x maxConcurrentDeviceActions + "additionalDBConnections" (global.properties).
# If this turns out to be over 170, you will have to bump up the max_connections
# value in postgresql.conf in Postgres to match it.
# Default = 20
#
# maxConcurrentDeviceActions=20
You can set the additionalDBConnections setting in the global.properties file as follows:
# the number of maxConcurrentDeviceActions threads allowed. These excess
# connections are reserved for other misc system activity (e.g. browser and web
# service connections, system background activities).
# Affects versant.maxActive in database.properties. See the description of
# versant.maxActive for details.
# additionalDBConnections=30
If the values you specify for the maxConcurrentDeviceActions and additionalDBConnections parameters lead to a need for more than 170 database connections (according to the "(2 x maxConcurrentDeviceActions) + additionalDBConnections" formula mentioned above), and you are using PostgreSQL, then you need to edit the postgresql.conf file to assign a higher value for the max_connections property. If you are using embedded PostgreSQL, TrueSight Network Automation installation program appends the line max_connections = 170 to the bottom of the postgresql.conf file (located in the BCAN_DATA/db directory) automatically. You need to modify the value in this line.
Use the following guidelines to estimate the setting for threads and database connections based on the number of devices. The actual values depend on how your system is used. If required, these values can be adjusted later.
Property to be set | File name | Up to 5000 devices | 5001–25000 devices |
---|---|---|---|
reportThreadPoolSize | BCAN_DATA/global.properties | 10 (default) | 10 |
Embedded PostgreSQL database | |||
maxConcurrentDeviceactions | BCAN_DATA/global.properties.imported | 20 (default) | 120 |
maxConnections | BCAN_DATA/db/postgresql.conf | 180 (default) | 360 |
versant.l2CacheMaxObjects | BCAN_DATA/database.properties | 20000 (default) | 50000 |
versant.l2QueryCacheMaxQueries | BCAN_DATA/database.properties | 1000 (default) | 3000 |
Recommendations for optimizing performance
This section contains information about optimizing performance for TrueSight Network Automation.
Application Server hardware recommendations
The application server specifications in the following table are based on the number of managed devices. These specifications are for a live production environment.
Application server hardware specifications
Number of managed devices | Processor speed | Number of processors | Memory |
---|---|---|---|
Up to 5,000 | 3 GHz | 2 | 8 GB |
5001–25,000 | 3 GHz | 8 | 24 GB |
The application server and database can run on the same host computer or different host computers or virtual machines (VMs).
Alternate home page for the TrueSight Network Automation GUI
If you typically have many devices (thousands) in a discrepancy state, and the display of your dashboard on the TrueSight Network Automation GUI takes a noticeable amount of time to display, you can alter the webappAlternateHomePage global property to set it to true. The true value causes the event list page to be the home page when you first log onto the system, or whenever you click the Home tab, instead of the dashboard. Note that this global property setting affects all users in the system. If the property is set to true, and you do not have the rights needed to view the event list page, you are directed to the dashboard instead.
Scheduled tasks
You can schedule the following tasks. For tasks that are resource-intensive, BMC recommends that they be staggered in their kick-off times so as not to run them simultaneously. Consider staggering the purge time, device imports of large numbers of devices, configuration exports of large spans of devices, jobs that run on large spans of devices like entire realm or entire network (for example, the nightly backup), and policies that send large reports.
- Policies: A set of conditions that when met cause the system to perform a set of actions. The Policies tab is used to manage, schedule, and review the status of time and event-based policies. See Managing-policies.
- Jobs: Network-related actions initiated by users, web services, policies, and device import tasks are tracked centrally as Jobs. Jobs are administered via Network > Actions > Jobs. See Managing-jobs.
- Device import:
- Administered via Admin > Network Admin > Device Import.
- When creating a Device Import task, the administrator can schedule it to run now or later, and can set it to repeat if necessary.
- See Managing-device-import-tasks.
- Rule import/export:
- Rule import is administered via Network > Import/Export > Rule Import.
- Rule export is administered via Network > Import/Export > Rule Export.
- When creating a Rule Import (or Export) task, the administrator can choose to run the task now or schedule it for later, and can set it to repeat if necessary.
- See Importing-rules and Exporting-rules.
- Configuration import/export:
- Configuration Import is administered via Network > Import/Export > Configuration Import.
- Configuration Export is administered via Network > Import/Export > Configuration Export.
- When creating a Configuration Import (or Export) task, the administrator can choose to run the task now or schedule it for later, and can set it to repeat if necessary.
- See Importing a configuration and Exporting a configuration .
- Purge time:
- Purge time is the time of day that when the purge manager runs. Purge manager deletes events, jobs, dormant policies, offline devices, historical configuration, and historical hardware inventories based on site policy. See Purge Settings for instructions on setting the purge policy.
- Purge time is controlled by the purgeTime parameter in the global.properties file. The default is midnight. If this value is changed, it doesn't take effect until a restart of BCA-Networks Web Server occurs.
Remote databases
BMC recommends that you run the TrueSight Network Automation database server and application server on the same computer (if possible), to minimize communication overhead between them. This assumes that the computer is powerful enough to handle the load of both the servers.
Purge settings
Administrators can configure the system to purge events, jobs, policies, and historical configurations according to their requirements. To set the purge criteria for events, job, and policies, see the Purge Settings in the Managing system parameters page. To set the purge criteria for historical configurations, see Adding-or-editing-a-realm.
Logging
This section addresses settings for the TrueSight Network Automation logging.
Logger
TrueSight Network Automation uses the Java Logger for all logging. Refer to the following documentation for Logger details: http://docs.oracle.com/javase/7/docs/api/java/util/logging/Logger.html .
Log Levels
The supported log levels in descending order are:
- SEVERE (highest value)
- WARNING
- INFO
- CONFIG
- FINE
- FINER
- FINEST (lowest value)
Log file maintenance
The administrator can configure logging by modifying the logging.properties file or editing the logging properties. The default log level can be set as follows:
The administrator can also configure the size of the log files and the number of log files maintained.
Device-related logging
There are additional logging parameters for device-related logging. These are also set in the logging.properties file.
Reports
You can improve the performance of reports that display differences or discrepancy between the configurations such as Change Summary and Discrepancy Summary when the configuration is very large (> 50, 000 lines). You can switch to a faster GNU Diff-based BMSI package by performing the following steps:
Download the BMSI gnudiff-1.7.jar file from http://search.maven.org/#search|ga|1|gnudiff.
Place the BMSI gnudiff-1.7.jar file in the BCAN_HOME/tomcat/lib (8.9.04 and later versions) or BCAN_DATA/endorsed/lib (8.9.03 and earlier versions) directory.
- Do the following changes in the BCAN_DATA/global.properties file:
- Find the property named differencingEngine.
- Uncomment the line and set it to BMSI.
The resultant line should look like: differencingEngine=BMSI
- Restart the web server service.
Related topic