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 | INT |
Renvoie l'identificateur de la connexion. |
Name | VARCHAR(255) |
Renvoie le nom de la connexion courante. Vous pouvez spécifier un nom de connexion à l'aide du paramètre de connexion ConnectionName (CON). Pour plus d'informations, reportez-vous à la section ConnectionName (CON) connection parameter. Les noms ci-après sont utilisés pour les connexions temporaires créées par le serveur de base de données :
Pour plus d'informations, reportez-vous à la section Temporary connections. |
Userid | VARCHAR(255) |
Renvoie l'ID utilisateur de la connexion. |
DBNumber | INT |
Renvoie l'identificateur de la base de données. |
LoginTime | TIMESTAMP |
Renvoie les date et heure auxquelles la connexion a été établie. |
TransactionStartTime | TIMESTAMP |
Renvoie une chaîne contenant l'heure de la première modification de la base de données à la suite d'une instruction COMMIT ou ROLLBACK, ou une chaîne vide si aucune modification n'a été apportée à la base de données depuis la dernière instruction COMMIT ou ROLLBACK. |
LastReqTime | TIMESTAMP |
Renvoie l'heure de lancement 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 les événements. |
ReqType | VARCHAR(255) |
Renvoie le type de la dernière demande. Si une connexion se trouve dans le cache à la suite d'une mise en pool, sa valeur ReqType est CONNECT_POOL_CACHE. |
ReqStatus | VARCHAR(255) |
Renvoie l'état de la demande. Il peut s'agir d'une des valeurs suivantes :
Les valeurs suivies d'un astérisque (*) sont uniquement renvoyées lorsque la consignation des informations de planification des demandes est activée sur le serveur de base de données à l'aide de l'option -zt. Si les informations de planification des demandes ne sont pas consignées (option par défaut), les valeurs sont signalées par la mention Executing. Pour plus d'informations, reportez-vous à la section -zt dbeng12/dbsrv12 server option. |
ReqTimeUnscheduled | DOUBLE |
Renvoie le temps non planifié ou la valeur NULL si l'option -zt n'a pas été spécifiée. Pour plus d'informations, reportez-vous à la section -zt dbeng12/dbsrv12 server option. |
ReqTimeActive | DOUBLE |
Renvoie la durée de traitement des demandes ou la valeur NULL si l'option -zt n'a pas été spécifiée. Pour plus d'informations, reportez-vous à la section -zt dbeng12/dbsrv12 server option. |
ReqTimeBlockIO | DOUBLE |
Renvoie le délai d'attente jusqu'à l'achèvement des E/S ou la valeur NULL si l'option -zt n'a pas été spécifiée. Pour plus d'informations, reportez-vous à la section -zt dbeng12/dbsrv12 server option. |
ReqTimeBlockLock | DOUBLE |
Renvoie le délai d'attente pour obtenir un verrou ou la valeur NULL si l'option -zt n'a pas été spécifiée. Pour plus d'informations, reportez-vous à la section -zt dbeng12/dbsrv12 server option. |
ReqTimeBlockContention | DOUBLE |
Renvoie le délai d'attente pour obtenir un accès atomique ou la valeur NULL si la valeur Off est attribuée à la propriété de serveur RequestTiming. Pour plus d'informations, reportez-vous à la section -zt dbeng12/dbsrv12 server option. |
ReqCountUnscheduled | INT |
Renvoie le nombre de fois où la connexion a attendu une planification ou la valeur NULL si l'option -zt n'a pas été spécifiée. Pour plus d'informations, reportez-vous à la section -zt dbeng12/dbsrv12 server option. |
ReqCountActive | INT |
Renvoie le nombre de demandes traitées ou la valeur NULL si la valeur Off est attribuée à la propriété de serveur RequestTiming. Pour plus d'informations, reportez-vous à la section -zt dbeng12/dbsrv12 server option. |
ReqCountBlockIO | INT |
Renvoie le nombre de fois où la connexion a attendu l'achèvement des E/S ou la valeur NULL si l'option -zt n'a pas été spécifiée. Pour plus d'informations, reportez-vous à la section -zt dbeng12/dbsrv12 server option. |
ReqCountBlockLock | INT |
Renvoie le nombre de fois où la connexion a attendu un verrou ou la valeur NULL si l'option -zt n'a pas été spécifiée. Pour plus d'informations, reportez-vous à la section -zt dbeng12/dbsrv12 server option. |
ReqCountBlockContention | INT |
Renvoie le nombre de fois où la connexion a attendu un accès atomique ou la valeur NULL si l'option -zt n'a pas été spécifiée. Pour plus d'informations, reportez-vous à la section -zt dbeng12/dbsrv12 server option. |
LastIdle | INT |
Renvoie le nombre d'impulsions entre les demandes. |
BlockedOn | INT |
Renvoie la valeur zéro si la connexion en cours n'est pas bloquée ou, si elle est bloquée, le numéro de la connexion à l'origine du blocage suite à un conflit de verrouillage. |
UncommitOp | INT |
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 la connexion exécute des appels de procédures imbriquées, il s'agit du nom de la procédure courante. 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. A défaut, une chaîne vide est renvoyée. |
CurrentLineNumber | INT |
Renvoie le numéro de ligne de la procédure ou de l'instruction composée qui est exécutée par la 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 attribuée lorsqu'une instruction est préparée, et initialisée lorsqu'une instruction est supprimée. Une seule chaîne d'instruction est mémorisée pour chaque connexion. Si la propriété sa_conn_activity signale une valeur non vide pour une connexion, il s'agit très probablement de l'instruction actuellement exécutée par la connexion. Si l'instruction avait été exécutée intégralement, elle aurait probablement été supprimée et la valeur de la propriété initialisée. Si une application prépare plusieurs instructions et conserve leurs descripteurs, la valeur LastStatement ne reflète pas l'opération actuellement exécutée par une connexion. Lorsque la mise en mémoire cache des instructions du client est activée et qu'une instruction du cache est réutilisée, cette propriété renvoie une chaîne vide. |
LastPlanText | LONG VARCHAR |
Renvoie le plan de texte long de la dernière requête exécutée sur la connexion. Vous gérez la mémorisation du dernier plan à l'aide de l'option RememberLastPlan de la procédure système sa_server_option system ou de l'option de serveur -zp. Pour plus d'informations, reportez-vous à la section -zp dbeng12/dbsrv12 server option. |
AppInfo | LONG VARCHAR |
Renvoie des informations relatives au client ayant établi la connexion. Pour les connexions HTTP, ces informations concernent également le navigateur. Pour les connexions à l'aide d'anciennes versions de jConnect ou Sybase Open Client, il est possible que les informations soient incomplètes. La valeur DBLIB, ODBC, OLEDB, ADO.NET, iAnywhereJDBC, PHP, PerlDBD ou DBEXPRESS peut être attribuée au paramètre API. Pour plus d'informations sur les valeurs renvoyées pour d'autres types de connexion, reportez-vous à la section AppInfo (APP) connection parameter. |
LockCount | INT |
Renvoie le nombre de verrous maintenus par la connexion. |
SnapshotCount | INT |
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' ); |
DBA authority
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, ReqTimeActive / T AS PercentActive FROM dbo.sa_performance_diagnostics() WHERE 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 dbo.sa_performance_diagnostics() WHERE ReqStatus <> 'IDLE' AND ReqTime > 60.0 ORDER BY ReqTime DESC; |
![]() |
Discuter à propos de cette page dans DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |