Recommendations for Application Servers of type Configuration
This topic provides general recommendations for sizing Application Servers defined as type Configuration. The term configuration server refers to Application Servers of type Configuration.
Estimating client connections
Configuration servers handle user interface (UI) connections. The sizing settings for configuration servers should be based on the anticipated number of client connections to the server, which is the total of the number of client connections expected from UI clients (RCP) and from BLCLI clients.
The number of client connections opened by a UI client varies over time and depends on the operations in which the user is engaged at any given moment. As an initial estimate, BMC recommends a planning figure of 2.5 client connections for each concurrent UI user.
The BLCLI client uses exactly one client connection for its execution, and it is usually more short-lived than an interactive user UI session. Thus, the peak demand estimate for client connections for a configuration server is:
2.5 × (number of simultaneous UI users) + (number of simultaneous BLCLI commands)
If you establish multiple configuration servers with a load balancer, you can divide the total load for client connections across the number of configuration servers that you establish.
For example, if you want to scale to 150 to 220 concurrent users and allocate 50 connections for BLCLI commands, set
MaxClientContexts to 600 (
220 × 2.5 + 50). If you have two load balanced configuration servers, you can distribute the 600 client contexts between the two servers (300 each).
Client connection service and thread pool settings
The client connection service is responsible for managing connections from client processes in configuration servers. The client connection service maintains a pool of threads for servicing client requests.
The following table describes the parameters that most strongly affect the performance of the client connection service. In most cases, you do not need to change these parameters from their default values.
Description and recommended value
Number of maximum client connections to the Application Server
Number of client connection worker threads
Maximum heap size for this Application Server.
Click here to review recommendations for the Application Server maximum Java heap size (MaxHeapSize).
This section describes recommended Java heap sizes for Application Servers running under different operating systems. These are recommendations only and must be adjusted in light of observed conditions, especially out-of-memory errors.
The following table provides details about the relevant
These connections are used for communication between Application Servers. In environments with many Application Server instances, this setting may need to be increased from the default of 20.
These settings specify a range of available ports used for communication between Application Servers. The default range provides for 50 ports (BasePort+50-BasePort+9899) which is sufficient for most environments.
Database connection settings
For best configuration server (and UI) performance, BMC recommends allowing the pool of database connections for client service threads to grow up to twice the number of client connection service threads, as described in the following table:
Description and recommended value
Maximum connections in the pool for client connections
For an Application Server configured to act as both a Configuration server and an NSH proxy server, this value should be 2 times the sum of the values for
|Controls the minimum number of database connections created on startup for the Client Connection pool. Because connections are created on demand, this has no impact on performance. The default is 0.|
Maximum connections in the pool for the general thread group. The default setting for this parameter should be sufficient.
Controls the minimum number of database connections created on startup for the General Connection pool. Because connections are created on demand, this has no impact on performance.
Maximum idle time, in seconds, for database connections. The Application Server closes database connections that are idle longer than the specified timeout. If there is a network device between the Application Server and database with a lower idle timeout, then this setting should be adjusted. The default is 600 seconds (10 minutes).
Controls logging of long running database queries. Leave at 0 to disable this functionality.
Number of rows fetched simultaneously from the database. The default is 100 rows.
Number of seconds that connections are idle before being tested. The default is 600 seconds (10 minutes).
Load balancer environments
When a load balancer is used to share the load across multiple Application Servers of type Configuration or All, the following adjustments to the Application Server's parameter settings are recommended. For more information, see Considerations for load balancing.
Description and recommended value
If set to true, the Application Server verifies that its own address appears in the list of request URLs encoded in the session credential.
For Application Servers in a load balancer environment or otherwise using an alternate URL besides the appserver hostname, take into account the type of traffic that you are load balancing:
Whether to enable (a value of
In a load balancer environment, use the following guidelines to set the value for this parameter:
Application service URLs distributed in the session credentials issued by the Authentication Service
Set this parameter to contain the URL for the client's view of the load balancer. Otherwise, the client attempts to contact one of the configuration servers directly, bypassing the load balancer.
If the instance is an ALL instance, then an alias for the load balancer should be added to the local hosts file on the Application Server, so that the load balancer URL resolves to the local system. This prevents network communication issues that might result from a node behind a load balancer trying to talk to itself through the same VIP that it sits behind. The load balancer vendor might have specific configuration settings to handle this situation, as well.
NSH Proxy service URLs distributed in the session credentials issued by the Authentication Service.
Set this parameter to contain the URL for the client's view of the load balancer. Otherwise, the client attempts to contact one of the NSH Proxy servers directly, bypassing the load balancer.
If the instance is an ALL instance, then an alias for the load balancer should be added to the local hosts file on the Application Server, so that the load balancer URL resolves to the local system. This prevents network communication issues might result from a node behind a load balancer trying to talk to itself through the same VIP that it sits behind. The load balancer vendor might have specific configuration settings to handle this situation, as well.