Timeout Options for ICM and Web Dispatcher

There are two timeouts that can be configured with the icm/server_port_<xx> parameter: the network timeout TIMEOUT and the processing timeout PROCTIMEOUT.

There is also the timeout for the connection setup icm/conn_timeout.

Keep-Alive Timeout: Option TIMEOUT or profile parameter icm/keepalive_timeout

The keep-alive timeout specifies how long the network connection remains open once the request has been successfully processed. This means that the TCP/IP connection may not have to be set up again for further requests that may arrive.

The keep-alive timeout should be set high enough so that new connections do not have to be set up for requests arriving in quick succession, but low enough that the number of unused, open TCP/IP connections is not unnecessarily high.

The time period is set in parameter icm/server_port_<xx> with the option <timeout> (in seconds).

The value -1 deactivates the timeout, the value 0 means that the value is determined by the parameter icm/keep_alive_timeout.

Value Range

Unit

Standard Setting

-1, 0, 10 - 32000

Seconds

30

The time limit applies in the following cases:

·         In the case of requests, the time between receipt of the TCP packets

·         The time between responses to TCP packets sent by the server. 

Depending on the type of network connection (internal, LAN, WAN, and so on), it may be best to increase the parameter value. However, the value should not be less than 10 seconds. If, on the other hand, a value is too high, the network connections will be very slow and the performance of the server will suffer.

Once the timeout interval has expired the user context in the work process is not closed. The user context is closed only after the time interval specified in the profile parameter rdisp/plugin_auto_logout has expired. If rdisp/plugin_auto_logout = 0 is set, the context in the work process is not deleted at all.

Processing Timeout: Option PROCTIMEOUT

The processing timeout specifies the timeout between sending an HTTP request and receiving an HTTP response.

ICM as an HTTP server: When the ICM receives a request and forwards it for processing (to the ABAP or J2EE Engine), the ICM waits for a response from the server until the timeout has expired.The work process context is then closed, the client is notified with a Connection Timeout message (error ETIMEOUT, see ICM Error Handling).

?      ICM as an HTTP client: If the ICM for the HTTP request concerned is used as a client, and forwards an outbound request from the SAPNW AS, the processing timeout specifies the time the ICM waits for until there is a response from the network. This can also be exceeded if there are long-running applications in the network.

The value is specified with the parameter <proctimeout> in seconds. Value -1 deactivates the timeout.

Value Range

Unit

Standard Setting

-1, 1 - 32000

Seconds

30

If the PROCTIMEOUT parameter is not specified, TIMEOUT (or icm/keepalive_timeout) defines the keep-alive timeout as well as the processing timeout. Moreover, the keep-alive timeout is restricted to a maximum of 30 seconds.

In systems where the standard timeout setting of 30 seconds for the keep-alive and processing timeouts is not sufficient due to long-running applications, SAP recommends that both the TIMEOUT and PROCTIMEOUT parameters are set for the services concerned, so that the services can be configured independently of each other. The TIMEOUT value should not be set unnecessarily high.

SAP recommends the following settings, for example: icm/server_port_0 = PROT=HTTP,PORT=1080,TIMEOUT=30,PROCTIMEOUT=600

in order to allow a maximum processing time of 10 minutes.

Timeout Parameters in the SAP Web Dispatcher

The same timeout parameters are available for the SAP Web dispatcher as for the ICM. They can be changed in the profile file of the SAP Web dispatcher (for instance,. sapwebdisp.pfl).

SAP recommends that the parameters are set the same in the SAP Web dispatcher and in the ICM.

Exception: You have configured  Connection Pooling in the Web dispatcher (wdisp/HTTP/use_pool_for-new_conn = 1, see Parameterization of the SAP Web Dispatcher).<0}