Anfang des InhaltsbereichsHintergrunddokumentation Memory Management des SAP-Gateway Dokument im Navigationsbaum lokalisieren

Shared-Memory-Segmente

Beim Start de Gateways werden zwei Shared-Memory-Bereiche im Shared-Memory-Pool 20 angelegt. Die Größe des Pools wird zunächst berechnet, so daß keine Profilparameter gelesen werden müssen.

Segment 21, Gateway-Tabellen

Im Segment 21 werden die folgenden Daten abgelegt:

Die Größe des Segmentes 21 hängt von der Größe der einzelnen Komponenten ab; sie beträgt insgesamt etwa 500 KByte, wenn die Standardeinstellungen nicht verändert werden.

Segment 22, CPIC-Requests

In diesem Segment können die Daten eines CPIC-Requests abgelegt werden. Dies hat den Vorteil, daß die Daten nicht kopiert werden müssen, sondern nur Zeiger in das Shared-Memory gesetzt werden müssen.
Die Größe des Segmentes 22 wird folgendermaßen berechnet:
Die Maximalgröße eines Requests (40728 Byte) mal Anzahl der Shared Memory Segmente (Profilparameter
gw/max_shm_req). Insgesamt werden etwa 2.1 MByte im Shared Memory angelegt.

Overflow-Bereich

Falls die Daten nicht mehr im Shared-Memory-Bereich gespeichert werden können, dann wird versucht, die Daten im Overflow-Bereich zwischenzuspeichern.
Die Größe des Overflow-Bereiches wird durch den Profilparameter
gw/max_overflow_size bestimmt. Dieser Bereich wird vom Gateway während der Initialisierung durch malloc() geholt (Default 1 MByte).
Der Profilparameter gw/max_overflow_usage (Angabe in Prozent) gibt an, ab welcher Auslastung des Overflow-Bereiches das Gateway beginnt, den Sender zu bremsen. Falls die Auslastung des Overflow-Bereiches diese Grenze überschreitet, dann wird der Sender durch 'SYNC'-Aufrufe gebremst. Ein 'SYNC' sorgt dafür, daß der Sender erst die Kontrolle wieder erhält, wenn die Daten vom Empfänger abgeholt wurden. Man muß allerdings dafür sorgen, daß im Gateway noch 5 CPIC-Requests gespeichert werden können, da der Sender nur jeden 5. CMSEND synchron ausführt.

CPIC-Requests

Pro CPIC-Verbindung kann eine bestimmte Anzahl von Requests zwischengespeichert werden. Die Anzahl wird durch den Profilparameter gw/req_stack_size bestimmt, Default ist 30. Es wird zunächst versucht, die einzelnen CPIC-Requests im Shared-Memory abzuspeichern. Die Anzahl der CPIC-Requests, die im Shared-Memory abgelegt werden können, wird durch den Profilparameter gw/max_shm_req_per_conn bestimmt. Wenn der Shared-Memory-Bereich zu 75% gefüllt ist, dann dürfen keine CPIC-Requests mehr im Shared-Memory abgelegt werden und die Daten müssen im Overflow-Bereich gespeichert werden. Wenn die Anzahl der Requests, die momentan gespeichert sind, einen Schwellwert überschreitet (max(stack_size-6,90% stack_size)), dann wird der Sender durch SYNC-Aufrufe gebremst (siehe Overflow).

Diese Grafik wird im zugehörigen Text erklärt

 

 

Ende des Inhaltsbereichs