Performance Settings

Description

Advanced settings for fine-tuning server performance.

Discussion

The settings found here can be used to fine-tune server performance. In most situations, you should not have to modify these settings. Changing these settings can have a negative impact on performance.

images/performanceSettings.png
Performance settings tab
Setting
Description
Server Threads

Start

The number of server threads to create when the server is first started. Default is 4.

Maximum

The absolute maximum number of threads that the server should create. Allowing the server to create too many threads will consume excessive memory. The threshold where performance begins to degrade will vary widely based on your operating system and hardware specifications. Default is 48.

Minimum spare

The minimum number of idle threads that should be available at all times. If Start threads was set to 4 and this was set to 2, as soon as the server was busy processing 3 requests there would only be one spare thread so the server would create a new spare thread, as long as the new number of threads would not exceed Maximum threads. Default is 4.

Restore Default Values

Resets the Server Threads options to their default values.

A5I Loading

Default behavior for loading A5I files.

Preload A5I files

If checked, A5I files will be preloaded into memory.

AEX Loading

Default behavior for loading AEX libraries.

Preload AEX files

Enables preloading of AEX files into memory.

Maximum preload AEX file size (KB)

If preloading AEX files is enabled, the maximum size allowed for a preloaded AEX.

Compression

Enable or disable file compression. Compression is used to deliver content to the client's browser.

Enable gzip

If enabled, gzip compression will be use to deliver content to the client. Enabling compression is recommended. Disabling compression may result in poor performance.

HTTP Keep Alive

Keep Alive settings.

Enable

Enable or disable HTTP Keep Alive.

Maximum Requests per Connection

The maximum allowed requests per Keep-Alive connection before using a new connection.

Maximum Timeout (in seconds)

The period which the server waits on a previously used connection to receive another request from the same client. Default is 15.

About Threads and Performance

The Performance tab contains a number of settings to control the threads used by the Application Server. This are set to reasonable defaults. Improperly setting these values could actually reduce the performance of the server. The settings on this tab should be considered "Advanced" settings and should not be modified by a user unless they are sure what they are doing.

The number of running server threads determines how many incoming client requests can be processed simultaneously. If a client request is received by the server but there is not a thread available to process it (all running threads are busy handling other requests), a new thread is created. Creating a new thread to process a request adds considerable overhead and is very slow compared to using a ready-and-waiting thread to process the request. For this reason, it is advantageous to have spare threads running on the server.

While having more running threads means that the server will answer requests more quickly, each running thread takes up memory, even if it is sitting idle waiting for an incoming request. So having too many spare threads will hurt overall server performance.

The Application Server continuously monitors the number of running threads along with the idle or busy status of each. Using the settings on this tab, you can control how the server manages the threads available for client requests.