Show TOC

Timeout-Optionen für ICM und Web DispatcherLocate this document in the navigation structure

Verwendung

Der ICM und Web Dispatcher kennen verschiedene Timeouts, die durch Profilparameter gesteuert werden:

Achtung

Die hier beschriebenen Timeouts gelten nur für HTTP(S), nicht für die anderen Protokolle (P4, IIOP, etc).

Timeout beim Verbindungsaufbau: Parameter icm/conn_timeout

Dieser Parameter dient der Einstellung des Timeout beim Aufbau der Verbindung. Wenn er überschritten wird, wird standardmäßig eine Fehlerseite mit der Information "404 Resource not found: Partner not reached" angezeigt.

Eine Überschreitung dieses Timeouts führt also nicht zu einer Fehlermeldung "500 Connection timed out".

Netzwerk-Timeout: Parameter icm/traffic_control

Mit diesem Parameter steuern Sie den Netzwerk-Timeout während eines Requests: wenn der Request noch nicht komplett übermittelt ist und diese Zeitspanne verstreicht, ohne dass Daten über das Netz gesendet werden, wird die Verbindung geschlossen.

Keepalive-Timeout: Option TIMEOUT bzw. Profilparameter icm/keepalive_timeout

Der Keepalive-Timeout gibt an, wie lange nach der erfolgreichen Bearbeitung eines Requests die Netzwerkverbindung erhalten bleiben soll, damit bei eventuell eintreffenden weiteren Requests der TCP/IP Verbindungsaufbau nicht mehr nötig ist.

Der Keepalive-Timeout kann global für alle Services des ICM durch den Parameter icm/keep_alive_timeout angegeben werden. Er kann auch für einzelne Services durch den Parameter icm/server_port_ <xx>= ...,TIMEOUT= <s> angegeben werden. Dieser übersteuert dann für den angegebenen Service den Parameter icm/keep_alive_timeout.

Empfehlung

Der Keepalive-Timeout sollte so hoch eingestellt sein, dass bei kurz aufeinander folgenden Anfragen kein erneuter Verbindungsaufbau erfolgt, aber auch so niedrig, dass keine unnötig hohe Zahl an ungenutzten TCP/IP Verbindungen bestehen bleibt.

Der Zeitraum wird beim Parameter icm/server_port_ <xx> mit der Option TIMEOUT (in Sekunden) angegeben.

Der Wert -1 deaktiviert den Timeout.

Ist die Option TIMEOUT nicht gesetzt, wird der Wert durch den Parameter icm/keep_alive_timeout festgelegt.

Wertebereich

Einheit

Standardeinstellung

-1, 0, 10 - 32000

Sekunden

60

Das Zeitlimit gilt für folgende Fälle:

  • Die Zeit zwischen dem Erhalt von TCP-Paketen bei Anfragen

  • Die Zeit zwischen den Bestätigungen von TCP-Paketen, die als Antwort vom Server geschickt werden.

Je nach Netzwerkanbindung (intern, LAN, WAN) kann es sinnvoll sein, diesen Parameterwert zu erhöhen, jedoch sollte der Wert nicht kleiner als 10 Sekunden sein. Bei einem zu hoch eingestelltem Parameterwert kann der Durchsatz des Servers durch extrem langsame Netzwerkverbindungen deutlich sinken.

Achtung

Requests an den AS ABAP: Beachten Sie, dass nach Ablauf dieser Zeitspanne nicht der Benutzerkontext im Workprozess abgebaut wird! Dies geschieht nach Ablauf der Zeitspanne, die durch den Profilparameter rdisp/plugin_auto_logout festgelegt wird. Wird rdisp/plugin_auto_logout = 0 gesetzt, so wird der Kontext im Workprozess gar nicht gelöscht.

Bearbeitungs-Timeout: Option PROCTIMEOUT

Der Verarbeitungs-Timeout gibt den Timeout zwischen dem Abschicken eines HTTP-Requests und dem Erhalt einer HTTP-Response an.

  • ICM als HTTP-Server: Wenn der ICM einen Request bekommen und zur Bearbeitung weitergegeben hat (an den AS ABAP oder den AS Java), wartet er solange auf die Antwort vom Server, bis dieser Timeout abgelaufen ist. Der Kontext im Workprozess wird dann abgebaut, der Client bekommt einen Connection Timeout gemeldet (Fehler ETIMEOUT, vgl. Fehlerbehandlung).

  • ICM als HTTP-Client: Wenn der ICM für den betreffenden HTTP-Request als Client dient, also eine ausgehende Anfrage des SAP NetWeaver AS weiterleitet, dann gibt der Bearbeitungs-Timeout die Zeit an, die ICM wartet, bis eine Antwort aus dem Netz erhalten wird. Diese kann ebenfalls bei langlaufenden Anwendungen im Netz überschritten werden.

Der Wert wird mit dem Parameterwert <proctimeout> in Sekunden angegeben, der Wert -1 deaktiviert den Timeout.

Wertebereich

Einheit

Standardeinstellung

-1, 1 - 32000

Sekunden

Abhängig von Systemtyp:

  • ABAP-only-System: 60

  • AS Java und Dual-Stack-Systeme: 600

Hinweis

Wenn der Parameter PROCTIMEOUT nicht angegeben wird, definiert TIMEOUT (oder icm/keepalive_timeout) sowohl den Verarbeitungs-Timeout als auch den Keepalive-Timeout. Zudem wird dann der Keepalive-Timeout auf maximal 60 Sekunden begrenzt.

Empfehlung

In einem System, wo die Timeout-Standardeinstellungen von 60 Sekunden für den Keepalive-Timeout und für den Bearbeitungs-Timeout wegen langlaufender Anwendungen nicht ausreichen, empfiehlt SAP, an den betroffenen Services beide Parameter TIMEOUT und PROCTIMEOUT zu setzen, damit sie unabhängig voneinander konfigurierbar sind. Außerdem sollte der TIMEOUT-Wert nicht unnötig hoch sein.

Wir empfehlen beispielsweise folgende Einstellung:

icm/server_port_0 = PROT=HTTP,PORT=1080,TIMEOUT=60,PROCTIMEOUT=600

um eine maximale Verarbeitungszeit von 10 Minuten zuzulassen.

Timeout-Parameter im SAP Web Dispatcher

Für den SAP Web Dispatcher stehen die gleichen Timeout-Parameter zur Verfügung wie für den ICM. Sie können in der Profildatei des SAP Web Dispatcher geändert werden (z.B. sapwebdisp.pfl).

Empfehlung

Es wird empfohlen, die Parameter in SAP Web Dispatcher und ICM identisch zu setzen.

Ausnahme: Sie haben im Web Dispatcher Connection Pooling konfiguriert durch wdisp/HTTP/use_pool_for_new_conn = 1.

Troubleshooting

Hinweis 824554 Auf SAP-Site veröffentlichte Informationen liefert eine ausführliche Beschreibung der Timeouts und der Konfiguration.