Entering content frame

Procedure documentation Configuring the SAP Web Dispatcher for A lot of Users Locate the document in its SAP Library structure

Use

This sections describes how to configure the SAP Web dispatcher for use with a lot of users.

Prerequisites

Crucial for the SAP Web Dispatcher is the number of active HTTP connections, which depends only indirectly on the number of users.

To evaluate how many users the SAP Web dispatcher can serve, you must take the following factors into account:

·        When a user sends a request, this request can open more than one HTTP connection. Depending on the application a request can open between one and 10 or 20 HTTP connections. The user cannot see how many connections the request opens. The average number of HTTP connections per request is indicated in the following formula req_per_dialog_step.

·        The “think time” is also crucial to the capacity of the Web dispatcher. The think time is the time (in seconds) between two user dialog steps (clicks). During this time there is no active HTTP connection (depending on the timeout – see below). The think time is indicated in the formula  thinktime_per_diastep_sec.

·        Another important parameter is the keepalive timeout (icm/server_port_<xx> or icm/keep_alive_timeout), which specifies how long the Web dispatcher keeps the connection open for further inquiries from the request. This timeout is specified in seconds in the formula, conn_keepalive_sec.

There is therefore no one fixed formula, since the number of actual parallel HTTP connections, concurrent_conn, depends on all these parameters. This formula can be used as a rule of thumb:

This graphic is explained in the accompanying text

 

Procedure

Use the following settings for the maximum configuration of the SAP Web dispatcher.

As a rule of thumb you can set the parameters in the profile of the Web dispatcher as follows. 

icm/max_conn               = 16350

icm/max_sockets            = 32768

wdisp/HTTP/max_pooled_con  = 16350 oder

wdisp/HTTPS/max_pooled_con = 16350

icm/req_queue_len          = 8000

icm/min_threads            = 100

icm/max_threads            = 300

mpi/total_size_MB          = 700

mpi/buffer_size            = 32768

Comments on These Parameters

·        Socket use: Note that each active HTTP connection from the browser to the Web dispatcher needs two sockets. A pool of open connections to the application servers is also kept in the Web dispatcher. For this reason icm/max_sockets must be at least as large as the sum of icm/max_conn and wdisp/HTTP/max_pooled_con (or wdisp/HTTPS/max_pooled_con).

This does not tell us anything about the possible number of simultaneous active users, since, depending on the application, a user can open several HTTP connections at the same time.

Caution

The value you set in parameter icm/max_conn must be at least the size as the required number of parallel connections (concurrent_conn in the formula; 13333 in the example below).

·        MPI size: To find out the total MPI size mpi/total_size_MB use the formula:

This graphic is explained in the accompanying text

Adjusting Operating System Settings

You may also have to change operating system parameters for certain high load scenarios.

Operating systems often have restrictions for the maximum number of open file handles (sockets) for each process. Make sure that each process can have at least as many sockets (file handles) as specified in parameter icm/max_sockets. The default value is 2048, but a much higher value is recommended for heavy workload scenarios (see above).

The Web dispatcher checks when it is started up that it can get a sufficient number of sockets from the operating system. If it cannot, you will find the following entry in the trace file dev_icm:

[Thr 1] *** WARNING => maximum number of sockets supported on this host

(1019) less than parameter icm/max_sockets (8192) [icxxrout_mt. 227 ]

Then you should check the settings in the operating system. For more information about the different operating systems, see SAP note 538405.

Example

You have 20000 users, who use the SAP Web dispatcher to send their requests. On average, each request opens four HTTP connections, the keep-alive timeout is 5 seconds (when the Web dispatcher notices resources are getting low, it automatically reduces the timeout for new connections). The average time between two dialog steps is 30 seconds.

In this example the number of parallel HTTP connections is:

This graphic is explained in the accompanying text

 

The size of the MPIs can then be calculated as follows (if the default setting of 65536 for mpi/buffer_size is halved):

This graphic is explained in the accompanying text

 

Caution

Do not set it less than 32 K, since the HTTP header must always have enough space in it.

This also works with the maximum settings shown above.

 

 

Leaving content frame