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
1000 – 5000
more than 5000
The default values for the initial memory and maximum memory are 512 MB and 1024 MB. If you want to modify these values for performance improvement, run the installation program again and modify the values of the Initial Memory Allocation and Maximum Memory Allocation parameters on the Memory and System Options panel.
If you upload OS images larger than 300 MB, the maximum Java heap size must be set to process large files. BMC recommends that you set your maximum Java heap size to three times your maximum OS image file size.
In addition, the system running PostgreSQL must have enough RAM when BMC Network Automation writes large OS files to the database. BMC recommends that the system running PostrgeSQL have RAM greater than three times your maximum OS image file size. See Application server system requirements.
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 additional number of db connections required in excess of twice # 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, BMC 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.
Recommendations for optimizing performance
This section contains information about optimizing performance for BMC Network Automation.
Alternate home page for the BMC Network Automation GUI
NEW IN 8.9.02If you typically have many devices (thousands) in a discrepancy state, and the display of your dashboard on the BMC Network Automation GUI takes a noticeable amount of time to display, you can alter the webappAlternateHomePage global property to set it to
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.
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 . and
- 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 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.
BMC recommends that you run the BMC 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.
If you use a remote BMC Network Automation database server, ensure that the computer it runs on is of at least comparable power (in terms of speed and number of CPUs) as the computer on which the BMC Network Automation application server is running.
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 page. To set the purge criteria for historical configurations, see Adding or editing a realm.
This section addresses settings for the BMC Network Automation logging.
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 .
The supported log levels in descending order are:
- SEVERE (highest value)
- 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.
There are additional logging parameters for device-related logging. These are also set in the logging.properties file.
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 .
- 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.