Submit a ticketCall us

Have You Auto Renewed? If not, you're missing out.
The SolarWinds Renewal Program comes with a host of benefits including the most recent product updates, 24/7 technical support, virtual instructor-led training and more. Experience all of this with the convenience of Auto Renewal, and never worry about missing any of these great benefits. Learn More.

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 20 monitored instances.

Monitored Instances Max Java Heap Size (64-bit)
0 - 20 1024 MB
21 - 50 2048 MB
51 - 100 4069 MB
101 - 250  8192 MB

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.

 

Here are the lines for each scale settings needed. This can be cut pasted to the file and the needed lines uncommented. 

 

##################################################################

#Scale DPA settings 0-75

##################################################################

 

#com.confio.idc.services.trendExecutor.maxPoolSize=10

#com.confio.idc.services.trendExecutor.corePoolSize=10

#com.confio.idc.services.lowPriorityExecutor.maxPoolSize=5

#com.confio.idc.services.lowPriorityExecutor.corePoolSize=5

#com.confio.idc.repositoryDataSourceFactory.numHelperThreads=25

#com.confio.idc.repositoryDataSourceSemaphore.permits=20

#com.confio.idc.databaseManagerExecutor.queueCapacity=250

 

##################################################################

#Scale DPA settings 76-150

##################################################################

 

#com.confio.idc.services.trendExecutor.maxPoolSize=15

#com.confio.idc.services.trendExecutor.corePoolSize=15

#com.confio.idc.services.lowPriorityExecutor.maxPoolSize=10

#com.confio.idc.services.lowPriorityExecutor.corePoolSize=10

#com.confio.idc.repositoryDataSourceFactory.numHelperThreads=30

#com.confio.idc.repositoryDataSourceSemaphore.permits=20

#com.confio.idc.databaseManagerExecutor.queueCapacity=300

 

##################################################################

#Scale DPA settings 151-200

##################################################################

 

#com.confio.idc.services.trendExecutor.maxPoolSize=20

#com.confio.idc.services.trendExecutor.corePoolSize=20

#com.confio.idc.services.lowPriorityExecutor.maxPoolSize=15

#com.confio.idc.services.lowPriorityExecutor.corePoolSize=15

#com.confio.idc.repositoryDataSourceFactory.numHelperThreads=40

#com.confio.idc.repositoryDataSourceSemaphore.permits=20

#com.confio.idc.databaseManagerExecutor.queueCapacity=400

 

##################################################################

#Scale DPA settings 200-250

##################################################################

 

#com.confio.idc.services.trendExecutor.maxPoolSize=20

#com.confio.idc.services.trendExecutor.corePoolSize=20

#com.confio.idc.services.lowPriorityExecutor.maxPoolSize=15

#com.confio.idc.services.lowPriorityExecutor.corePoolSize=15

#com.confio.idc.repositoryDataSourceFactory.numHelperThreads=50

#com.confio.idc.repositoryDataSourceSemaphore.permits=20

#com.confio.idc.databaseManagerExecutor.queueCapacity=500

 

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
Last modified

Tags

Classifications

Public