Configuring SAP Web Dispatcher for High System Load Due to Inbound Requests
Crucial for the SAP Web Dispatcher/ICM 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/ICM 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 SAP Web Dispatcher/ICM. 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). The think time is indicated in the formula thinktime_per_diastep_sec.
- Another important parameter is the keepalive timeout, which specifies how long the SAP Web Dispatcher/ICM keeps the connection open for further inquiries from the request. This timeout is specified in seconds in the formula, conn_keepalive_sec.
There is no one fixed formula because the number of actual parallel HTTP connections, concurrent_conn, depends on all these profile parameters. This formula can be used as a rule of thumb:

Parameterization:
The following profile parameters are relevant for configuring the SAP Web Dispatcher/ICM for high system load due to inbound requests:
| Profile Parameter | Kernel Default |
|---|---|
| icm/max_conn | 2000 |
| icm/req_queue_len | 6000 |
| icm/min_threads | 10 |
| icm/max_threads | 500 |
| mpi/total_size_MB | (min(0.06 * $(icm/max_conn) + 50, 2000)) |
| mpi/max_pipes | ($(icm/max_conn)*2) |
| wdisp/HTTP/max_pooled_con | ($(icm/max_conn)) |
| wdisp/HTTPP/max_pooled_con | ($(icm/max_conn)) |
In the profile you set icm/max_conn to a value that enables you to configure your SAP Web Dispatcher / ICM for a high system load. The other profile parameters are derived from formulas of icm/max_conn or are already set to a relevant default value, which you do not have to change.
Configuration of Profile Parameter icm/max_conn
Increase the default value of icm/max_conn to a value that enables you to configure your SAP Web Dispatcher / ICM for a high system load. The maximum value depends on the executable file and the operating system this file is executed on.
| Executable File | Operating System | Limit of icm/max_conn |
|---|---|---|
| ICM | Windows | 10000 |
| ICM | Linux, AIX, Solaris, HP-UX, AS/400 | 20000 |
| SAP Web Dispatcher | Windows, Linux, AS/400, z/OS | 32000 |
| SAP Web Dispatcher | AIX | 31000 |
| SAP Web Dispatcher | Solaris, HP-UX | 16000 |
Connection requests that exceed the limit of icm/max_conn are first placed in the list queue, which can accept up to 1024 connection requests. If the list queue is also full, requests are rejected with the error "connection refused".
The limits for the maximum number of connections are specified in the SAP Web Dispatcher. Each inbound connection requires a connection to the back-end system. Exceptions are requests that are handled by SAP Web Dispatcher itself. These include:
Cache hits
- Static pages that are handled by a file access handler.
- Use of the Web administration interface
The ICM communicates with the back-end system using a shared memory, and therefore does not need a network connection to the back-end system. Shared memory resources are however even more limited, which reduces the maximum value of icm/max_conn.
Adjusting Operating System Settings
You can configure the operating system so that it sets additional limits for the number of file handles that a process is allowed to use. This limit affects the number of network sockets and therefore the number of simultaneous connections that the SAP Web Dispatcher / ICM can process. Use the shell command "limit" or "ulimit" to set these limits and increase them if required.
If the SAP Web Dispatcher / ICM is configured with more connections than the operating system supports, an information message is written to the developer trace. The SAP Web Dispatcher / ICM is started normally with the limit set by the operating system.
Special Optimization
You can change these values for special requests. If you want to work with a consistent number of threads in a scenario with high system load, you set min_threads = max_threads. This prevents overhead for creating and deleting threads. You can increase the number of threads even more.
Reasons for reducing icm/max_conn:
- Reduction of the number of simultaneous connections to the back-end system so that the load from Web requests on the system is reduced.
- Reduction of the memory space requirement of SAP Web Dispatcher/ICM
If you have only one HTTP or HTTPS connection to the back-end system haben, you can set profile parameter wdisp/HTTP(S)/max_pooled_con to zero.
You can find the sizing guidlines for SAP Web Dispatcher on the SAP Service Marketplace under .

