Introduction
Replication Server 12.5 rassemble des statistiques en utilisant plus d’une centaine de compteurs différents. Par défaut, la plupart des compteurs sont actifs et il est possible d’afficher les valeurs en cours à tout moment.
Les valeurs des compteurs peuvent être à tout moment vidées ou sauvegardées dans la RSSD, sous réserve de surveiller l’espace disponible au niveau de la base RSSD.
La configuration des compteurs par défaut est définie de façon à limiter la quantité de données transmises à la RSSD. Plusieurs commandes et paramètres de configuration permettent de contrôler les mesures qui sont sauvegardées dans la RSSD et à quels moment elles le sont.
Démon dSTATS
Le démon dSTATS
contrôle le vidage. Trois tables systèmes contiennent des
informations sur les compteurs :
rs_statcounters
: contient des informations descriptives sur chaque compteurrs_statrun
: décrit chaque période d’échantillonage (ou exécution)rs_statdetail
: contient des mesures pour chaque exécution.
Le démon dSTATS
est un thread à part entière de Replication Server 12.5 et
est affiché avec la commande admin who
admin who
111 dREC Active dREC 112 dSTATS Active 220 USER Active sa
Modules et compteurs
Replication Server exécute plusieurs threads simultanément. Le nombre total de threads dépend du nombre de bases de données que gère un Replication Server et du nombre de routes directes.
Modules
Certains threads appellent des parties spécifiques (ou modules) de Replication Server pour déterminer la destination des messages et des transactions, ainsi que les opérations à répliquer et le mode de réplication.
Replication Server propose un ou plusieurs compteurs pour chaque module de Replication Server.
Les modules sont de trois types :
- modules multithread
- modules à thread unique
- modules sans thread
Modules multithread
Les modules multithread peuvent avoir plusieurs instances de thread. Ces modules sont les suivants :
SQM
(Stable Queue Manager)SQT
(Stable Queue Transaction)- Thread distributeur
- Thread
DSI
(Data Server Interface) - Thread
RSI
(Replication Server Interface) - Agent de réplication ou
REPAGENT
Exemple :
146 DIST Active 273 GLOSS.prd_swift_iso_c
79 SQT Awaiting Wakeup 273:1 DIST GLOSS.prd_swift_iso_c
974 SQM Awaiting Message 273:1 GLOSS.prd_swift_iso_c
125 DSI EXEC Awaiting Command 343(1) SPARGLOSP02.prd_swift_iso_c
353 DSI Awaiting Command 343 SPARGLOSP02.prd_swift_iso_c
55 REP AGENT Awaiting Command SPARGLOSP02.prd_swift_iso_c
Chaque thread d’un module multithread possède une instance de ses différents compteurs.
Modules à thread unique
Les modules à thread unique ont une seule instance de thread. Tous les
démons de Replication Server, tels que le démon dCM
(Connection Manager Daemon,
ou démon de gestionnaire des connexions) appartiennent à ce groupe.
Les modules à thread unique n’ont qu’une instance de compteur.
Modules sans thread
MD
(Message Delivery, ou livraison de messages)TD
(Transaction Delivery, ou livraison de transactions)SRE
(Subscription Resolution Engine, ou moteur de résolution de souscriptions).STS
(System Table Services, ou services des tables système)MEM
(Memory Management, ou gestion de la mémoire)
Les modules sans thread n’ont qu’une instance de compteur.
Compteurs
Il existe plus de 100 compteurs pour contrôler les performances de Replication Server.
La procédure stockée rs_helpcounter
dans la base RSSD affiche les
informations descriptives sur les compteurs courants.
exec rs_helpcounter
ModuleName ------------------------------ CM DIST DSI DSIEXEC REPAGENT RSI SQM SQMR SQT STS SYNC SYNCELE How to Use rs_helpcounter ---------------------------------------------------------------- rs_helpcounter [intrusive | sysmon | rate | duration | internal | must_sample | no_reset | keep_old | configure] rs_helpcounter ModuleName [, {type | short | long}] rs_helpcounter keyword [, {type | short | long}]
Noms des compteurs
Chaque compteur possède trois noms différents : un nom externe descriptif,
un nom d’affichage utilisé pour identifier le compteur dans une commande RCL
,
et un ID
unique au sein de Replication Server.
Exemple :
exec rs_helpcounter CmdsApplied
Display Name Module Name Counter Name ----- ------------- --------------------------- CmdsApplied DSIEXEC DSIEXEC: Commands applied CmdsApplied REPAGENT Repagent: Applied commands
Dans l’exemple ci-dessus, CmdsApplied
est le nom
d’affichage du compteur pour identifier le compteur, et "RepAgent : Applied
commands
" est le nom externe descriptif.
Types de compteurs
Chaque compteur a un type qui détermine sa méthode d’échantillonnage des données. Ces types sont au nombre de quatre :
- compteurs à valeur maximale, qui ne conservent que la plus grande valeur échantillonnée
- compteur à valeur moyenne, qui conservent la totalité des valeurs échantillonnées et le nombre d’éléments échantillonnés
- compteurs à valeur récente, qui conservent la dernière valeur des données échantillonnées.
- Compteurs à total cumulé, qui conserve le total actif des données échantillonnées.
Pour afficher les types des compteurs, utiliser la commande rs_helpcounter
avec l’option 'type
'
exec rs_helpcounter REPAGENT, type
Display Name Module Name Counter Type Counter Status ------------ ------------ ---------- ------------ BuffersReceived REPAGENT Total 0 BytesReceived REPAGENT Total 4 CmdsApplied REPAGENT Total 4 CmdsDumpLoadDB REPAGENT Total 0 CmdsEnRepMarker REPAGENT Total 0 CmdsMiniAbort REPAGENT Total 4 CmdsPurgeOpen REPAGENT Total 0 CmdsRequest REPAGENT Total 4 CmdsRouteRCL REPAGENT Total 0 CmdsSystem REPAGENT Total 0 CmdsTotal REPAGENT Total 4 EmptyPackets REPAGENT Total 0 PacketSize REPAGENT Last 10 PacketsReceived REPAGENT Total 4 RAWriteWaits REPAGENT Total 4 RAWriteWaitsTimeAve REPAGENT Average 25 RAYieldTimeAve REPAGENT Average 25 RAYields REPAGENT Total 4 UpdsRslocater REPAGENT Total 4
Options d’état
Chaque compteur peut avoir des informations d’état qui déterminent les opérations de calcul. Certains nécessitent également un traitement supplémentaire des données ou des informations provenant d’autres modules ou compteurs.
La tableau ci-dessous décrit les options d’état des compteurs. Un compteur peut n’avoir aucune option d’état ou, au contraire, en avoir plusieurs.
Etat des compteurs | Description | rs_helpcounter |
---|---|---|
CNT_INTRUSIVE |
Compteurs susceptibles d’avoir une incidence sur les performances de Replication Server | intrusive |
CNT_INTERNAL |
Compteurs utilisés par Replication Server et d’autres compteurs | internal |
CNT_SYSMON |
Compteurs utilisés par la commande admin statistics, sysmon |
sysmon |
CNT_MUST_SAMPLE |
Compteurs qui échantillonnent des données même si l’échantillonnage n’est pas activé | must_sample |
CNT_NO_RESET |
Compteurs qui ne sont pas réinitialisés après l’initialisation | no_reset |
CNT_DURATION |
Compteurs qui mesurent la durée | duration |
CNT_RATE |
Compteurs qui mesurent la vitesse | rate |
CNT_KEEP_OLD |
Compteurs qui conservent à la fois la valeur courante et la valeur précédente | keep_old |
CNT_CONFIGURE |
Compteurs qui conservent la valeur d’exécution d’un paramètre de configuration de Replication Server. | configure |
Ainsi pour apercevoir tous les compteurs intrusifs (qui par définition peuvent détériorer les performances de Replication Server) :
exec rs_helpcounter intrusive
Dans l’exemple ci-dessous, les compteurs qui mesurent la vitesse sont affichés
exec rs_helpcounter rate
Display Name Module Name Counter Name ----- ----------- ---------------------------- DSIEBPSaverage DSIEXEC DSIEXEC: Average BPS rate DSIEBPScurrent DSIEXEC DSIEXEC: Current BPS rate DSIEBPSmax DSIEXEC DSIEXEC: Maximum BPS rate NgTPSaverage DSIEXEC DSIEXEC: Average nongrouped TPS rate NgTPScurrent DSIEXEC DSIEXEC: Current nongrouped TPS rate NgTPSmax DSIEXEC DSIEXEC: Maximum nongrouped TPS rate TPS_Average DSIEXEC DSIEXEC: Average grouped TPS rate TPScurrent DSIEXEC DSIEXEC: Current grouped TPS rate TPSmax DSIEXEC DSIEXEC: Maximum grouped TPS rate BPSaverage SQM SQM: Average BPS rate BPScurrent SQM SQM: Current BPS rate BPSmax SQM SQM: Maximum BPS rate
Activation de l’échantillonnage et du vidage
Valeurs par défaut
Par défaut, l’échantillonnage est activé et la plupart des compteurs échantillonnent continuellement des données sans qu’il y ait une incidence sur les performances du serveur. Les compteurs qui risquent d’influer sur les performances (compteurs dépendants) sont par défaut désactivés.
Lorsque l’échantillonnage est activé, les compteurs enregistrent des données sans les stocker. Pour qu’il y ait stockage, il faut activer le vidage dans le RSSD.
Activation de l’échantillonnage des compteurs indépendants
L’échantillonnage des compteurs indépendants est activé ou desactivé avec la commande ci-dessous :
configure replication server set 'stats sampling' to { 'on' | 'off' }
La valeur par défaut est 'on
' lors de l’installation d’un RS 12.5.
La procédure stockée rs_configure
au niveau de la RSSD permet de visualiser
la valeur pour le paramètre 'stats_sampling
'
exec rs_configure 'stats_sampling' go
Config Name Config Value Run Value Description ---------- ----------- ---------- ----------------------- stats_sampling on on
Activation de l’échantillonnage des compteurs dépendants ou intrusifs
La plupart des compteurs échantillonnent des données avec un impact minime sur les performances de Replication Server. Ceux qui risquent d’influer sur les performances, appelés compteurs dépendants, sont activés séparément. Il est possible de les activer ou les désactiver sans toucher aux paramètres des compteurs indépendants.
Trois compteurs ont un impact majeur sur les performances
TranTimeLast
: enregistre le temps en centièmes de seconde nécessaire au thread DSI pour traiter la dernière transaction pendant une exécution.TranTimeMax
: enregistre le temps maximal en centièmes de seconde nécessaire au thread DSI pour traiter une transaction pendant une exécution.TranTimeAve
: enregistre le temps moyen en centièmes de seconde nécessaire au thread DSI pour traiter une transaction pendant une exécution.
La désactivation de l’échantillonnage des compteurs dépendants ou intrusifs est lancé avec la commande ci-dessous :
admin stats_intrusive_counter, {'on'|'off'}
La valeur par défaut est 'off
' lors de l’installation d’un RS 12.5.
La commande système RS admin statistics, flush_status
indique
si l’échantillonnage des compteurs intrusifs est activé :
admin statistics, flush_status
RepServer RSSD flushing status for SPARGLOSP02_RS ran on: 12/08/03 04:29:34PM Rep Server Counters Flush Configuration. ---------------------------------------- Configuration_Name Run_Value ------------------------ ---------- stats_daemon_sleep_time 600 stats_sampling on stats_flush_rssd off stats_reset_afterflush on stats_intrusive_counter off
Vidage des compteurs vers la RSSD
Activation du vidage
La commande "configure replication server
" active ou désactive
le vidage au niveau de la RSSD
configure replication server set 'stats_flush_rssd' to { 'on' | 'off' }
La valeur par défaut est 'off
'. Il est par ailleurs indispensable d’activer
le vidage pour pouvoir configurer individuellement des modules, des connexions
et des routes.
Deux commandes permettent de voir si le vidage est activé ou non :
- au niveau de la RSSD : rs_configure 'stats_flush_rssd'
exec rs_configure 'stats_flush_rssd'
Config Name Config Value Run Value ---------- ----------- -------------------- stats_flush_rssd off off
- au niveau du RS : admin statistics, flush_status
admin statistics, flush_status
RepServer RSSD flushing status for SPARGLOSP02_RS ran on: 12/08/03 04:29:34PM Rep Server Counters Flush Configuration. ---------------------------------------- Configuration_Name Run_Value ------------------------------ ---------- stats_daemon_sleep_time 600 stats_sampling on stats_flush_rssd off stats_reset_afterflush on stats_intrusive_counter off
Activation de la réinitialisation après un vidage
La commande configure replication server
avec l’option
stats_reset_afterflush
spécifie si les compteurs doivent être
réinitialisés après le vidage.
configure replication server set 'stats_reset_afterflush' to { 'on' | 'off' }
La valeur par défaut est 'on
'. Certains compteurs comme les compteurs de
vitesse (rate
) ayant l’état CNT_NO_RESET
ne sont jamais réinitialisés.
Deux commandes permettent de voir si la réinitialisation après le vidage est activée ou non :
- au niveau de la RSSD : rs_configure 'stats_reset_afterflush'
exec rs_configure 'stats_reset_afterflush'
Config Name Config Value Run Value ---------------------------- -------------- ---------- stats_reset_afterflush on on
- au niveau du RS : admin statistics, flush_status
admin statistics, flush_status
RepServer RSSD flushing status for SPARGLOSP02_RS ran on: 12/08/03 04:29:34PM Rep Server Counters Flush Configuration. Configuration_Name Run_Value ------------------------------ ---------- stats_daemon_sleep_time 600 stats_sampling on stats_flush_rssd off stats_reset_afterflush on stats_intrusive_counter off
Définition de l’intervalle entre les vidages
Il est possible de définir un intervalle, en secondes, entre les vidages
dans la RSSD. Cet intervalle peut être défini avec la commande configure
replication server
.
configure replication server set 'stats_daemon_sleep_time'to 'temps_de_veille'
La valeur par défaut est de 600 secondes. La valeur minimale est de 10 secondes et la valeur maximale est de 3 153 600 secondes (365 jours).
Deux commandes permettent de voir le temps de veille entre les vidages:
- au niveau de la RSSD : rs_configure 'stats_daemon_sleep_time'
exec rs_configure 'stats_daemon_sleep_time'
Config Name Config Value Run Value ---------------------------- -------------- ---------- stats_daemon_sleep_time 600 600
- au niveau du RS : admin statistics, flush_status
admin statistics, flush_status
RepServer RSSD flushing status for SPARGLOSP02_RS ran on: 12/08/03 04:29:34PM Rep Server Counters Flush Configuration. Configuration_Name Run_Value ------------------------------ ---------- stats_daemon_sleep_time 600 stats_sampling on stats_flush_rssd off stats_reset_afterflush on stats_intrusive_counter off
Configuration des modules, des connexions et des routes
Une hiérarchie des options de configuration limite le vidage des compteurs
dans la RSSD. La commande admin stats_config_module
permet de configurer le
vidage pour un module spécifique ou pour la totalité d’entre deux.
Vidage pour les modules
Il est possible d’activer le vidage pour les compteurs d’un module
individuellement ou pour tous les modules à l’aide de la commande admin
stats_config_module
.
admin stats_config_module, { nom_module | 'all_modules'}, { 'on'| 'off'}
Les noms de modules disponibles sont : dist, dsi, rsi, sqm, sqt, sts,
repagent, cm
ou sts
.
Cette commande est la plus utile pour les modules sans thread ou qui n’ont
qu’une instance de thread. Pour les modules multithread, il est plus facile de
contrôler les threads activés en utilisant les commandes
admin_stats_config_connection
et admin_stats_config_route
(cette dernière
commande ne sera pas vue dans la présente documentation car il n’existe pas
d’exemple concret avec des routes).
Vidage pour les modules multithreads
Il est possible de configurer le vidage pour des threads individuellement ou pour des groupes de threads avec la commande admin stats_config_connection.
admin stats_config_connection ,
{ serveur_donnees, basededonnees | all_connections } ,
{ nom_module | all_modules }, ['inbound'| 'outbound'], { 'on'| 'off'}
Les paramètres sont les suivants :
serveur_donnees
: nom du serveur de donnéesbasededonnees
: nom du base de donnéesall_connections
: toutes les connexions à des bases de donnéesnom_module
:dist, dsi, repagent, sqm, sqt
all_modules
: modulesDIST
,DSI
,REPAGENT
,SQM
etSQT
.inbound | outbound
: identifie leSQM
ou leSQT
pour une file d’attente entrante ou sortante
Exemples:
admin stats_config_connection, all_connections, all_modules, on
- active le vidage pour toutes les combinaisons connexion - module.
admin stats_config_connection, 'SPARGLOSR01', 'prd_t', 'dsi', 'on'
- active le vidage pour le serveur SPARGLOSR01
, pour la base de données prd_t
et uniquement les compteurs concernant dsi
.
La commande admin statistics, flush_status
permet une fois de plus de
visualiser ce qui est défini.
admin statistics, flush_status
RepServer RSSD flushing status for SPARGLOSP02_RS ran on: 12/08/03 04:29:34PM Rep Server Counters Flush Configuration. Configuration_Name Run_Value ------------------------------ ---------- stats_daemon_sleep_time 600 stats_sampling on stats_flush_rssd off stats_reset_afterflush on stats_intrusive_counter off Rep Server module flushing status. ---------------------------------- Module_Name Info Flush_Status --------------------------------------------------------- CM off DIST off DSI 352 SPARGLOSR01.prd_t on DSI 351 SPARGLOSP01.prd_t off DSI 342 SPARGLOSR01.prd_swift_in_eb off ... ... ...