So speichert Testimony aufgezeichnete Daten

Wenn eine Aufzeichnung ausgeführt wird, erfasst Testimony Informationen über Dialogschritte, Batch-Jobs usw. Zu den von Testimony erfassten Daten gehören Eingaben, Ausgaben und technische Informationen, die für das Abspielen erforderlich sind. Um (insbesondere online) Leistungseinbußen während der Aufzeichnung zu vermeiden, werden diese Daten zunächst im Shared Memory des Anwendungsservers gespeichert. (Schreibvorgänge in das Shared Memory dauern in der Regel 1-3 Mikrosekunden, während Schreibvorgänge in die DB 7-10 Millisekunden dauern) Ein Testimony-Batch-Job (der automatisch gestartet wird, wenn Sie die Aufzeichnung starten) überprüft dann regelmäßig jeden Anwendungsserver und schreibt die im Speicher gespeicherten Daten in die Testimony-Tabellen der Datenbank.

Umgehung des Shared Memory

Es kann gelegentlich vorkommen, dass das Shared Memory zwischen der Ausführung eines Batch-Jobs und der nächsten, ausgelastet ist. Da dieser Speicherbereich Teil des Shared Memory ist (und somit von anderen SAP-Prozessen verwendet wird), umgeht Testimony, wenn es feststellt, dass dies geschehen ist, das Shared Memory und schreibt direkt in die Datenbank, bis der Speicher durch die nächste Ausführung des Batch-Jobs geleert wird. Während dies geschieht kann es jedoch zu geringen Leistungseinbußen bei den aufgezeichneten Transaktionen kommen (da die DB-Schreibzeit effektiv zur Gesamtantwortzeit der Transaktionen hinzukommt). Um sicherzustellen, dass diese Situation nicht zu lange andauert, bricht Testimony die Aufzeichnung automatisch ab, wenn die Anzahl der direkten DB-Schreibvorgänge (d. h. Schreibvorgänge von Testimony-Daten, die den Puffer umgehen) innerhalb einer Minute eine bestimmte Anzahl überschreitet. Dieser Wert ist über den allgemeinen Parameter ALLOWED_DB_WRITES konfigurierbar.

In der obigen Abbildung (die Sie in der Testimony-Transaktion über Konfiguration —> Allgemeine Parameter aufrufen können) können Sie sehen, dass der Wert für ALLOWED_DB_WRITES von seinem Standardwert 5.000 auf 10.000 geändert wurde.

Löschen des Shared Memory über den Batch-Job

Wie bereits erwähnt, wird beim Starten einer Aufzeichnung automatisch ein Batch-Job gestartet, um die im Shared Memory abgelegten Daten in der DB zu speichern. Dabei werden auch die Daten aus dem Shared Memory gelöscht, um Speicher freizugeben.

Standardmäßig überprüft der Batch-Job jeden Anwendungsserver jede Minute. Es ist oft sinnvoll – vor allem in stark ausgelasteten Systemen -, die Häufigkeit dieses Auftrags so zu ändern, dass er kontinuierlich ausgeführt wird. In diesem Fall wird das Shared Memory auf jedem Anwendungsserver ständig überwacht (mit einem Round-Robin-Ansatz, so dass die Daten für jeden Anwendungsserver nacheinander gespeichert werden).

Um die Häufigkeit des Batch-Jobs zu ändern, wechseln Sie zu Aufzeichnung —> Job-Manager auf dem Zentralsystem.

Hier können Sie sehen, dass der Auftrag “Geschäftsvorgang DB-Speicher” die Standardfrequenz “Jede Minute” hat.

Um dies zu ändern, markieren Sie die Zeile und klicken Sie auf die Schaltfläche Ändern. Wechseln Sie dann auf die Registerkarte Ausführung und löschen Sie die Zahl 1 aus dem Feld Periodizität.

Klicken Sie auf Speichern und die Periodizität des Auftrags wird so geändert, dass das Shared Memory ständig überwacht und geleert wird.

Reaktion

War das hilfreich?

Ja Nein
You indicated this topic was not helpful to you ...
Could you please leave a comment telling us why? Thank you!
Thanks for your feedback.

Hinterlasse einen Kommentar.

Kommentar senden