Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Performanceverbesserungen, Diagnosen und Monitoring » Tools für Performanceüberwachung und Diagnose » Verwenden sonstiger Diagnose-Tools und -Techniken

 

Anforderungsprotokollierung

Die Anforderungsprotokollierung zeichnet die einzelnen von einer Anwendung empfangenen Anforderungen bzw. die an eine Anwendung gesendeten Antworten auf. Das ist besonders hilfreich, um herauszufinden, welche Aktion die Anwendung vom Datenbankserver verlangt.

Die Anforderungsprotokollierung ist auch ein guter Ausgangspunkt für die Performanceanalyse einer bestimmten Anwendung, wenn es nicht offensichtlich ist, ob der Datenbankserver oder der Client der Verursacher des Fehlers ist. Sie können eine Anforderungsprotokollierung durchführen, um die spezielle Anforderung an den Datenbankserver zu ermitteln, die für Probleme verantwortlich sein könnte.

Hinweis

Die gesamte Funktionalität sowie die Daten, die von der Anforderungsprotokollierungsfunktion geliefert werden, stehen auch bei der Diagnoseprotokollierung zur Verfügung. Die Diagnoseprotokollierung bietet außerdem zusätzliche Funktionen und Daten.

Zu den protokollierten Daten gehören beispielsweise Zeitstempel, Verbindungs-IDs und Anforderungstyp. Bei Abfragen umfassen die Daten außerdem die Isolationsstufe, die Anzahl der abgerufenen Zeilen und den Cursortyp. Für die Anweisungen INSERT, UPDATE und DELETE werden auch die Anzahl der betroffenen Zeilen und die Anzahl der ausgelösten Trigger erfasst.

Achtung

Das Anforderungsprotokoll kann vertrauliche Daten enthalten, da es den vollständigen Text von SQL-Anweisungen einschließlich Kennwörtern enthält, wie etwa bei den Anweisungen GRANT CONNECT, CREATE DATABASE und CREATE EXTERNAL LOGIN. Wenn dies Sicherheitsprobleme verursacht, sollten Sie den Zugriff auf die Anforderungsprotokolldatei einschränken.

Mit der Serveroption -zr können Sie die Anforderungsprotokollierung einschalten, wenn Sie den Datenbankserver starten. Sie können die Ausgabe in eine Anforderungsprotokolldatei zur späteren Analyse speichern, indem Sie die -zo-Serveroption verwenden. Mit den Optionen -zn und -zs legen Sie fest, wie viele Anforderungsprotokolldateien gespeichert werden und welche maximale Größe die Anforderungsprotokolldateien haben können.

Weitere Hinweise zu diesen Optionen finden Sie unter:

Hinweis

Diese Serveroptionen wirken sich nicht auf die Diagnoseprotokollierung in Sybase Central aus. Die Anforderungsprotokollierung auf Dateibasis ist vollkommen getrennt von der Diagnoseprotokollierungsfunktion in Sybase Central, welche dbo-eigene Diagnosetabellen in der Datenbank verwendet, um Daten des Anforderungsprotokolls zu speichern.

Die Systemprozedur "sa_get_request_times" liest ein Anforderungsprotokoll und befüllt die globale temporäre Tabelle (satmp_request_time) mit Anweisungen aus dem Protokoll und ihren Ausführungszeiten. Die aufgezeichneten Zeitangaben für die Anweisungen INSERT/UPDATE/DELETE beziehen sich auf die Zeit, zu denen die Anweisungen ausgeführt wurden. Bei Abfragen bestehen die aufgezeichneten Zeitdaten aus der Zeitspanne von PREPARE bis DROP (describe/open/fetch/close). Das bedeutet, dass Sie auf geöffnete Cursor achten müssen.

Prüfen Sie "satmp_request_time" für Anweisungen, die Kandidaten für Verbesserungen sein könnten. Anweisungen, die kostengünstig sind, aber häufig ausgeführt werden, können Performance-Probleme darstellen.

Sie können "sa_get_request_profile" verwenden, um "sa_get_request_times" aufzurufen und "satmp_request_time" in einer anderen globalen temporären Tabelle namens "satmp_request_profile" zusammenzufassen. Diese Prozedur gruppiert überdies die Anweisungen und liefert die Anzahl der Aufrufe, die Ausführungszeiten usw.

Achtung

Wenn das Log mit dem Perl-Skript tracetime.pl analysiert wird, sollte die max_client_statements_cached-Option auf 0 gesetzt werden, damit das clientseitige Caching von Anweisungen deaktiviert wird, während die Anforderungsprotokollierung erfasst wird.

 Siehe auch
 Beispiele