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

SAP Sybase SQL Anywhere 16.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Performanceverbesserungen, Diagnosen und Monitoring » Tools für Performanceüberwachung und Diagnose » Sonstige 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.

Hinweis

Das Anforderungslog enthält alle Anweisungen mit verschleierten vertraulichen Daten. Der einzige Fall, bei dem sensitive Daten nicht verschleiert werden, ist eine Anweisung mit einem syntaktischen Analysefehler.

Mit der Serveroption -zr können Sie die Anforderungsprotokollierung einschalten, wenn Sie den Datenbankserver starten. Sie können die Ausgabe zur späteren Analyse in eine Anforderungs-Logdatei umleiten, indem Sie die Serveroption -zo verwenden. Mit den Optionen -zn und -zs legen Sie fest, wie viele Anforderungs-Logdateien gespeichert werden und welche maximale Größe die Anforderungs-Logdateien 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 Anforderungslogs zu speichern.

Die sa_get_request_times-Systemprozedur liest ein Anforderungslog und füllt die globale temporäre Tabelle (satmp_request_time) mit Anweisungen aus dem Log und deren 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 auf 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.

Vorsicht

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 das Anforderungslog erfasst wird.

 Siehe auch
 Beispiele