Gibt eine Zusammenfassung der Anforderungszeitinformationen für alle Verbindungen zurück, wenn der Datenbankserver die Protokollierung der Anforderungszeiten aktiviert hat.
sa_performance_diagnostics( )
Spaltenname | Datentyp | Beschreibung |
---|---|---|
Number | INT | Die ID-Nummer der Verbindung |
Name | VARCHAR(255) | Der Name der Verbindung |
Userid | VARCHAR(255) | Die Benutzer-ID für die Verbindung |
DBNumber | INT | Die ID-Nummer der Datenbank |
LoginTime | TIMESTAMP | Datum und Uhrzeit der Verbindungsherstellung |
TransactionStartTime | TIMESTAMP | Die Uhrzeit, zu der die Datenbank nach COMMIT oder ROLLBACK zum ersten Mal geändert wurde, bzw. eine leere Zeichenfolge, falls seitdem keine Änderungen vorgenommen wurden |
LastReqTime | TIMESTAMP | Der Zeitpunkt, an dem die letzte Anforderung für die angegebene Verbindung gestartet ist |
ReqType | VARCHAR(255) | Der Typ der letzten Anforderung |
ReqStatus | VARCHAR(255) |
Der Status der Anforderung. Dies kann einer der folgenden Werte sein:
|
ReqTimeUnscheduled | DOUBLE | Wartezeit ohne Zeitplanung |
ReqTimeActive | DOUBLE | Verstrichene Zeit beim Warten auf das Verarbeiten von Anforderungen |
ReqTimeBlockIO | DOUBLE | Verstrichene Zeit beim Warten auf den Abschluss eines I/O-Vorgangs |
ReqTimeBlockLock | DOUBLE | Verstrichene Zeit beim Warten auf eine Sperre |
ReqTimeBlockContention | DOUBLE | Verstrichene Zeit beim Warten auf einen unteilbaren Zugriff |
ReqCountUnscheduled | INT | Häufigkeit des Wartens auf eine Zeitplanung |
ReqCountActive | INT | Anzahl von verarbeiteten Anforderungen |
ReqCountBlockIO | INT | Angabe, wie oft auf den Abschluss von I/O-Vorgängen gewartet wurde |
ReqCountBlockLock | INT | Angabe, wie oft auf eine Sperre gewartet wurde |
ReqCountBlockContention | INT | Angabe, wie oft auf einen unteilbaren Zugriff gewartet werden musste |
LastIdle | INT | Die Anzahl der Computertakte zwischen Anforderungen |
BlockedOn | INT | Falls die aktuelle Verbindung nicht blockiert ist, wird der Wert Null angezeigt. Falls sie blockiert ist, wird die Verbindungsnummer angezeigt, mit der die Verbindung bei einem Sperrenkonflikt blockiert ist. |
UncommitOp | INT | Die Anzahl der nicht festgeschriebenen Vorgänge |
CurrentProcedure | VARCHAR(255) | Die Prozedur, die eine Verbindung derzeit ausführt. Wenn die Verbindung verschachtelte Prozeduraufrufe ausführt, ist der Name derjenige der aktuellen Prozedur. Wenn keine Prozedur ausgeführt wird, wird eine leere Zeichenfolge zurückgegeben. |
EventName | VARCHAR(255) | Der Name des zugeordneten Ereignisses, wenn die Verbindung eine Ereignisverarbeitungsroutine (Event Handler) ausführt. Sonst ist das Ergebnis NULL. |
CurrentLineNumber | INT | Die aktuelle Zeilennummer der Prozedur oder der Kombinationsanweisung, die eine Verbindung ausführt. Die Prozedur kann unter Verwendung der Eigenschaft CurrentProcedure identifiziert werden. Wenn die Zeile ein Bestandteil einer Kombinationsanweisung vom Client ist, wird eine leere Zeichenfolge zurückgegeben. |
LastStatement | LONG VARCHAR | Die zuletzt vorbereitete SQL-Anweisung für die aktuelle Verbindung |
LastPlanText | LONG VARCHAR | Der ausführliche Textplan der letzten auf der Verbindung ausgeführten Abfrage |
AppInfo | LONG VARCHAR | Informationen über den Client, der die Verbindung hergestellt hat. Bei HTTP-Verbindungen umfasst dies auch Angaben zum Browser. Bei Verbindungen, die ältere Versionen von jConnect oder Open Client verwenden, können die Informationen unvollständig sein. Der API-Wert kann DBLIB, ODBC, OLEDB oder ADO.NET sein. |
LockCount | INT | Die Anzahl der Sperren, die die Verbindung besitzt |
SnapshotCount | INT | Die Anzahl von Snapshots, die der Verbindung zugeordnet sind |
Die sa_performance_diagnostics-Systemprozedur gibt eine Ergebnismenge zurück, die aus einer Reihe von Anforderungszeiteigenschaften und Statistiken besteht, wenn der Server aufgefordert wurde, die Informationen zu sammeln. Das Aufzeichnen von Anforderungszeitinformationen muss auf dem Datenbankserver aktiviert sein, bevor sa_performance_diagnostics aufgerufen wird. Um dies zu erreichen, legen Sie die Option -zt fest, wenn Sie den Datenbankserver starten oder führen Sie folgenden Prozeduraufruf aus:
CALL sa_server_option( 'RequestTiming','ON' ); |
DBA-Berechtigung erforderlich
Keine
Sie können die folgende Abfrage ausführen, um Verbindungen zu identifizieren, die lange auf den Abschluss von Datenbankserver-Anforderungen gewartet haben.
SELECT Number, Name, CAST( DATEDIFF( second, LoginTime, CURRENT TIMESTAMP ) AS DOUBLE ) AS T, ReqTimeActive / T AS PercentActive FROM dbo.sa_performance_diagnostics() WHERE PercentActive > 10.0 ORDER BY PercentActive DESC; |
So finden Sie alle derzeit ausführenden Anforderungen, die seit mehr als 60 Sekunden ausgeführt wurden:
SELECT Number, Name, CAST( DATEDIFF( second, LastReqTime, CURRENT TIMESTAMP ) AS DOUBLE ) AS ReqTime FROM dbo.sa_performance_diagnostics() WHERE ReqStatus <> 'IDLE' AND ReqTime > 60.0 ORDER BY ReqTime DESC; |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |