Important

   

Starting version 8.9.03, BMC Server Automation is renamed to TrueSight Server Automation. This space contains information about BMC Server Automation 8.9.02 and previous versions. For TrueSight Server Automation 8.9.03 and later releases, see TrueSight Server Automation 8.9.

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.

Component

Parameter

Description and recommended value

AppServer

MaxClientContexts

Number of maximum client connections to the Application Server

BMC recommends estimating peak client connection demand, as described in the preceding section, and setting MaxClientContexts to this value. In the absence of sufficient information about peak client connection demand, BMC recommends using the default value of 200.

AppServer

MaxWorkerThreads

Number of client connection worker threads

BMC recommends using the default value of 10, or approximately 5 percent of the value of MaxClientContexts.

AppServerMaxHeapSize

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.

  • For 32-bit processes, BMC recommends operating system-specific Java heap size values according to the table below. Due to memory constraints, job servers using 32-bit processes should be configured to use no more than 50 work item threads.
  • For 64-bit processes, BMC recommends that the Java heap size be increased as indicated in the table, if there is sufficient physical memory to support this setting.

The following table provides details about the relevant blasadmin setting:

Module

Setting

Description and Recommendation

AppServer

MaxHeapSize

Specifies the maximum heap size for this Application Server.
See operating system-specific recommendations for this value summarized in the table below.

  

Windows:

  • 32-bit: 1024 MB
  • 64-bit: 6-8 GB
  

Linux:

  • 32-bit: 1536 MB
  • 64-bit: 6-8 GB
  

Solaris:

  • 32-bit: 2048
  • 64-bit: Not applicable

AppServer

MaxJMXConnections

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.

AppServer

MinPort,MaxPort

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:

Component

Parameter

Description and recommended value

Database

MaxClientConnections

Maximum connections in the pool for client connections

BMC recommends a value that is twice the number of client connection threads (set using MaxWorkerThreads in the AppServer component).

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 MaxWorkerThreads + MaxNshProxyThreads.

Database

MinClientConnectionsControls 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.
DatabaseMaxGeneralConnections

Maximum connections in the pool for the general thread group. The default setting for this parameter should be sufficient.

Database

MinGeneralConnections

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.

Database

MaxIdleTime

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).

Database

MinTimeToLog

Controls logging of long running database queries. Leave at 0 to disable this functionality.

Database

FetchSize

Number of rows fetched simultaneously from the database. The default is 100 rows.

Database

IdleConnectionTestPeriod

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.

Component

Parameter

Description and recommended value

AppServer

ValidateRequestURL

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:

  • If you are load balancing only authentication traffic (that is, connections to the AuthServiceURL), but are not load balancing traffic to the configuration server (that is, to the AppServiceURL) or not using a custom AppServiceURL, set this parameter to true.
  • If you are load balancing all traffic — to both the AuthServiceURL and the AppServiceURL — or setting a AppServiceURL that is different from the hostname of the appserver, set this parameter to false, as the client sends its request to the load balancer, and not to the configuration server that receives the connection request.

AppServer

ValidateClientIpAddress

Whether to enable (a value of true) or disable (a value of false) client network address validation.

In a load balancer environment, use the following guidelines to set the value for this parameter:

  • If you are load balancing only authentication traffic (that is, connections to the AuthServiceURL), but are not load balancing traffic to the configuration server (that is, to the AppServiceURL), then check whether the load balancer was configured to pass through the client IP address:
    • If the load balancer was configured to pass through the client IP address, set this parameter to true.
    • If the load balancer was not configured to pass through the client IP address, then from the point of view of the Authentication Server, the client's IP address is that of the load balancer (that is, client connections appear to originate from the load balancer rather than from the actual client). Therefore, set this parameter to false.
  • If you are load balancing all traffic — to both the AuthServiceURL and the AppServiceURL— set this parameter to true, regardless of whether the load balancer was configured to pass through the client IP address.

AuthServer

AppServiceURLs

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.

AuthServerProxyServiceURLs

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.

Was this page helpful? Yes No Submitting... Thank you

Comments