Returns a summary of request timing information for all connections when the database server has request timing logging enabled.
sa_performance_diagnostics( )
Column name | Data type | Description |
---|---|---|
Number | INTEGER |
Renvoie l'identificateur (numéro) de la connexion en cours. |
Name | VARCHAR(255) |
Renvoie le nom de la connexion en cours. Vous pouvez spécifier un nom de connexion à l'aide du paramètre de connexion ConnectionName (CON). Voir ConnectionName (CON) connection parameter. Les noms suivants sont utilisés pour les connexions temporaires créées par le serveur de base de données :
Voir Temporary connections. |
Userid | VARCHAR(255) |
Renvoie l'ID utilisateur associé à la connexion. |
DBNumber | INTEGER |
Renvoie l'identificateur de la base de données. |
LoginTime | TIMESTAMP |
Renvoie la date et l'heure auxquelles la connexion a été établie. |
TransactionStartTime | TIMESTAMP |
Renvoie une chaîne contenant l'heure de la première modification apportée à la base de données après une instruction COMMIT ou ROLLBACK, ou une chaîne vide en l'absence de modification. |
LastReqTime | TIMESTAMP |
Renvoie l'heure du début de la dernière demande associée à la connexion spécifiée. Cette propriété peut renvoyer une chaîne vide pour les connexions internes, comme des événements. |
ReqType | VARCHAR(255) |
Renvoie le type de la dernière demande. Si une connexion a été mise en cache par une mise en pool, sa valeur ReqType est CONNECT_POOL_CACHE. |
ReqStatus | VARCHAR(255) |
Renvoie l'état de la demande. Il peut s'agir de l'une des valeurs suivantes :
Les valeurs signalées par un astérisque (*) sont renvoyées uniquement lorsque la consignation des informations de durée des demandes a été désactivée pour le serveur de base de données à l'aide de l'option de serveur -zt. Lorsque la consignation n'a pas lieu (par défaut), les valeurs sont signalées comme Executing. |
ReqTimeUnscheduled | DOUBLE |
Renvoie la durée non planifiée ou NULL si l'option -zt n'a pas été spécifiée. Voir -zt database server option. |
ReqTimeActive | DOUBLE |
Renvoie la durée du traitement des demandes, en secondes, ou NULL si l'option -zt n'a pas été spécifiée. Voir -zt database server option. |
ReqTimeBlockIO | DOUBLE |
Renvoie le la durée d'attente pour l'achèvement des E/S, en secondes, ou NULL si l'option -zt n'a pas été spécifiée. Voir -zt database server option. |
ReqTimeBlockLock | DOUBLE |
Renvoie la durée d'attente pour un verrou, en secondes, ou NULL si l'option -zt n'a pas été spécifiée. Voir -zt database server option. |
ReqTimeBlockContention | DOUBLE |
Renvoie la durée d'attente pour un accès atomique, en secondes, ou NULL si la valeur Off est attribuée à la propriété de serveur RequestTiming. Voir -zt database server option. |
ReqCountUnscheduled | INTEGER |
Renvoie le nombre de mises en attente pour une planification ou NULL si l'option -zt n'a pas été spécifiée. Voir -zt database server option. |
ReqCountActive | INTEGER |
Renvoie le nombre de demandes traitées ou NULL si la valeur Off est attribuée à la propriété de serveur RequestTiming. Voir -zt database server option. |
ReqCountBlockIO | INTEGER |
Renvoie le nombre de mises en attente pour l'achèvement des E/S ou NULL si l'option -zt n'a pas été spécifiée. Voir -zt database server option. |
ReqCountBlockLock | INTEGER |
Renvoie le nombre de mises en attente pour un verrou ou NULL si l'option -zt n'a pas été spécifiée. Voir -zt database server option. |
ReqCountBlockContention | INTEGER |
Renvoie le nombre de mises en attente pour un accès atomique ou NULL si l'option -zt n'a pas été spécifiée. Voir -zt database server option. |
LastIdle | INTEGER |
Renvoie le nombre d'impulsions d'horloge entre les demandes. |
BlockedOn | INTEGER |
Renvoie zéro si la connexion en cours n'est pas bloquée ou, dans le cas contraire, le numéro de la connexion bloquée par un conflit de verrouillage. |
UncommitOp | INTEGER |
Renvoie le nombre d'opérations non validées. |
CurrentProcedure | VARCHAR(255) |
Renvoie le nom de la procédure actuellement exécutée par une connexion. Si cette dernière exécute des appels de procédures imbriquées, ce nom est celui de la procédure en cours. Si aucune procédure n'est en cours d'exécution, une chaîne vide est renvoyée. |
EventName | VARCHAR(255) |
Renvoie le nom de l'événement associé si la connexion exécute une routine de gestion d'événement, sinon une chaîne vide. |
CurrentLineNumber | INTEGER |
Renvoie le numéro de ligne actuel de la procédure ou de l'instruction composée en cours d'exécution par une connexion. La procédure peut être identifiée à l'aide de la propriété CurrentProcedure. Si la ligne fait partie d'une instruction composée provenant du client, une chaîne vide est renvoyée. |
LastStatement | LONG VARCHAR |
Renvoie la dernière instruction SQL préparée pour la connexion en cours. La valeur LastStatement est définie lorsqu'une instruction est préparée, puis supprimée en même temps que celle-ci. Une seule chaîne d'instruction est mémorisée par connexion. Si sa_conn_activity signale une valeur non vide pour la connexion, cette dernière est probablement en train d'exécuter l'instruction. De fait, si celle-ci avait été terminée, elle aurait été supprimée et la valeur de la propriété aurait été vidée. Lorsqu'une application prépare plusieurs instructions et en conserve les descripteurs, la valeur LastStatement ne reflète pas la tâche actuellement effectuée par la connexion. Lorsque la mise en cache des instructions du client est activée et qu'une instruction en cache est réutilisée, cette propriété renvoie une chaîne vide. |
LastPlanText | LONG VARCHAR |
Renvoie le plan textuel long de la dernière requête exécutée sur la connexion. Vous déterminez la mémorisation du dernier plan en paramétrant l'option RememberLastPlan de la procédure système sa_server_option ou à l'aide de l'option de serveur -zp. Voir -zp database server option. |
AppInfo | LONG VARCHAR |
Renvoie des informations sur le client qui a établi la connexion. En cas de connexion HTTP, cela inclut les informations relatives au navigateur. En cas de connexion avec des versions anciennes de jConnect ou de Sybase Open Client, les informations pourraient être incomplètes. La valeur API peut être DBLIB, ODBC, OLEDB, ADO.NET, iAnywhereJDBC, PHP, PerlDBD ou DBEXPRESS. Pour en savoir plus sur les valeurs renvoyées pour d'autres types de connexion, voir AppInfo (APP) connection parameter. |
LockCount | INTEGER |
Renvoie le nombre de verrous posés par la connexion. |
SnapshotCount | INTEGER |
Renvoie le nombre de clichés associés à la connexion. |
The sa_performance_diagnostics system procedure returns a result set consisting of a set of request timing properties and statistics if the server has been told to collect the information. Recording of request timing information must be turned on the database server before calling sa_performance_diagnostics. To do this, specify the -zt option when starting the database server or execute the following:
CALL sa_server_option( 'RequestTiming','ON' ); |
You must have the MONITOR system privilege.
None
You can execute the following query to identify connections that have spent a long time waiting for database server requests to complete.
SELECT Number, Name, CAST( DATEDIFF( second, LoginTime, CURRENT TIMESTAMP ) AS DOUBLE ) AS T, IF T <> 0 THEN (ReqTimeActive / T) ELSE NULL ENDIF AS PercentActive FROM sa_performance_diagnostics() WHERE T > 0 AND PercentActive > 10.0 ORDER BY PercentActive DESC; |
Find all requests that are currently executing, and have been executing for more than 60 seconds:
SELECT Number, Name, CAST( DATEDIFF( second, LastReqTime, CURRENT TIMESTAMP ) AS DOUBLE ) AS ReqTime FROM sa_performance_diagnostics() WHERE ReqStatus <> 'IDLE' AND ReqTime > 60.0 ORDER BY ReqTime DESC; |
![]() |
Discuter à propos de cette page dans DocCommentXchange.
|
Copyright © 2013, SAP AG ou société affiliée SAP - SAP Sybase SQL Anywhere 16.0 |