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 BMC 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 |
---|---|---|
less than 1000 | 512 MB | 1024 MB |
1000 – 5000 | 512 MB | 2048 MB |
more than 5000 | 512 MB | 4096 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:
# 2x 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
The maxConcurrentDeviceActions parameter can be set to a maximum of 80.
The maximum number of database connections is set to: 2x maxConcurrentDeviceActions + "additionalDBConnections" (from global.properties)
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
Recommendations for optimizing performance
This section contains information about optimizing performance for BMC Network Automation.
Scheduled tasks
The following are tasks that can be scheduled. 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.
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 Purging section 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 BMC Network Automation logging.
Logger
BMC 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_DATA/endorsed/lib 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