Submit a ticketCall us

Looking to compare latest NPM features with previous versions of NPM?
The NPM new feature summary offers a comparison of new features and improvements offered with this release.

 

Home > Success Center > Database Performance Analyzer (DPA) > Scale DPA for number of monitored databases

Scale DPA for number of monitored databases

Updated March 11th, 2016

Overview

SolarWinds DPA is a scalable solution that can grow as your number of monitored database instances increases. This article describes how to configure DPA for scalability. 
 

Note: Other components of your monitoring environment also need to be able to handle increased load, such as the Repository database and server, the SolarWinds DPA Server machine, and the network.

Environment

  • All versions of DPA

Detail

Required Property Settings

These property settings must be increased to scale SolarWinds DPA above 75 monitored instances.

Note: SolarWinds DPA by default is configured for up to 75 monitored instances.

Monitored Instances Max Java Heap Size (32-bit) Max Java Heap Size (64-bit)
0 - 75 512 MB (=0x200) 1024 MB
76 - 150 1024 MB (=0x400) 2048 MB
151 - 200 1536 MB (=0x600) 3072 MB
201 - 250 1536 MB (=0x800) 4096 MB

Use the 64-bit recommendations for DPA 10.2 and later.

More than 250 monitored databases

Do you plan to monitor more than 250 database instances? Consider using more than one SolarWinds DPA server and Link together separate DPA servers.

Additional Property Settings for powerful Repositories not on the same machine as DPA

These property settings can be increased to scale SolarWinds DPA above 75 monitored instances.  Increasing these settings puts additional load on the Repository, so only increase them if your Repository has available processing bandwidth.

Note: SolarWinds DPA is installed pre-configured for up to 75 monitored instances.

Monitored Instances Min Repo Connection Pool Size Max Repo Connection Pool Size Trending Thread Pool Size Cleaner Thread Pool Size C3PO Helper Thread Count SQL Stats Connection Permits DB Manager Queue Capacity
0 - 75 10 200 10 5 25 20 250
76 - 150 20 300* 15 10 30 25 300
151 - 200 30 400* 20 15 40 30 400
201 - 250 40 500* 25 20 50 35 500

*Make sure your repository database is capable of handling up to this many connections.

Additional Property Settings when DPA and the Repositories are on the same machine

DPA is installed pre-configured for up to 75 monitored instances, and property settings need to be adjusted to scale it above 75 monitored instances.  Increasing these settings enables DPA to do more processing in parallel, which in turn puts additional load on the Repository.  Since DPA and the Repository are "co-resident", increased Repository load completes with increased DPA processing, and cause DPA processing to get behind.  Indications of this include:

  • The number of Repository connections equals the maximum pool setting.
  • DPA UI is unresponsive at times.
  • "Task rejected" errors in the DPA logs.

In a co-resident situation, it is therefore necessary to limit the amount of parallel processing done by DPA.  The following table shows values that either decrease or have modest increases as the number of monitored instances increases.

Note: The decreasing values shown here are guidelines, and can vary based on the processing power of the server that is running DPA and the Repository (i.e. less-powerful machines can require lower values).

Monitored Instances Min Repo Connection Pool Size Max Repo Connection Pool Size Trending Thread Pool Size Cleaner Thread Pool Size C3PO Helper Thread Count SQL Stats Connection Permits DB Manager Queue Capacity
0 - 75 10 200 10 5 25 20 250
76 - 150 20 300* 15 10 30 20 300
151 - 200 30 400* 20 15 40 20 400
201 - 250 40 500* 20 15 50 20 500

*Make sure your repository database is capable of handling up to this many connections.

Change Property Settings

For Java Heap Settings

Follow these article to Increase DPA Memory

Other Settings 

  1. Edit the file installdir\iwc\tomcat\ignite_config\idc\system.properties
  2. Uncomment or add the line(s) for the desired property (see table below).
  3. Update each property to its new value.  If multiple property entries are listed (below) for a single setting, update all property entries to the same value.
  4. Save the file.
  5. Restart the SolarWinds DPA Server.

 

Setting Property Entry In system.properties
Min Repo Connection Pool Size com.confio.idc.repositoryDataSourceFactory.minPoolSize
Max Repo Connection Pool Size com.confio.idc.repositoryDataSourceFactory.maxPoolSize
Trending Thread Pool Size com.confio.idc.services.trendExecutor.maxPoolSize com.confio.idc.services.trendExecutor.corePoolSize
Cleaner Thread Pool Size com.confio.idc.services.lowPriorityExecutor.maxPoolSize com.confio.idc.services.lowPriorityExecutor.corePoolSize
C3PO Helper Thread Count com.confio.idc.repositoryDataSourceFactory.numHelperThreads
SQL Stats Connection Permits com.confio.idc.repositoryDataSourceSemaphore.permits
DB Manager Queue Capacity com.confio.idc.databaseManagerExecutor.queueCapacity

Warning: Max Java Heap Size Can Be Set Too High

The Max Java Heap Size setting can be set too high for your operating system to handle.  For example, Windows requires contiguous memory space.  Since Windows loads DLLs that can easily fragment memory, higher Max Java Heap Size settings can be difficult to attain.  Typically, the highest setting on Windows is1536MB (=0x600), and on Solaris is 3.8GB (=0xED8).

For more information on this issue, you can read an article from Oracle - Why can't I get a larger heap with the 32-bit JVM?. (© 2017 Oracle, available at http://www.oracle.com, obtained on April 21, 2017.)

 

If the Max Java Heap Size is set too high for the operating system to handle, DPA will not start.  Try lowering the Max Heap setting.

If you need a higher Max Java Heap Size setting than the operating system will allow, there are several solutions:

  1. Add memory to your server.  For 32-bit Windows, this may not help since 32-bit Windows has limitations on addressable memory.
  2. If you are using 32-bit Windows to host DPA, you can change operating systems to:
  3. If none of the above is a possibility, set the Max Java Heap Size as high as you can.  If that is enough to monitor (even though it does not fit into the guidelines as specified in the article Increase DPA heap memory to monitor large numbers of instances), you can disable the message saying that "Configuration settings are insufficient to monitor X database instances" by doing the following: 
    1. Open the file:    installdir\iwc\tomcat\ignite_config\idc\system.properties
    2. Set the property:    com.confio.idc.heap.size.check.enable = false
    3. Restart DPA (Note: DPA will still warn you if heap space is getting full)

Disclaimer: Please note, any content posted herein is provided as a suggestion or recommendation to you for your internal use. This is not part of the SolarWinds software or documentation that you purchased from SolarWinds, and the information set forth herein may come from third parties. Your organization should internally review and assess to what extent, if any, such custom scripts or recommendations will be incorporated into your environment.  You elect to use third party content at your own risk, and you will be solely responsible for the incorporation of the same, if any.

Last modified
10:16, 24 Apr 2017

Tags

Classifications

Public