forked from gleu/pgdocs_fr
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmonitoring.xml
699 lines (584 loc) · 21.8 KB
/
monitoring.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
<?xml version="1.0" encoding="UTF-8"?>
<!-- Dernière modification
le $Date$
par $Author$
révision $Revision$ -->
<sect1 id="monitoring">
<title>Surveillance</title>
<indexterm><primary>Surveiller &slony1;</primary></indexterm>
<para>
Comme prélude à la discussion, il est intéressant de pointer que comme
le corps de des fonctionnalités &slony1; est implanté via des fonctions
stockées dans la base de données et via les tables comprises dans le
schéma &slony1;, la majorité de la surveillance peut se faire en
exécutant des requêtes sur les tables du schéma pour chaque base de
données du cluster.
</para>
<para>
Voici une liste des tables contenant une information particulièrement
intéressante d'un point de vue surveillance et diagnostique.
</para>
<glosslist>
<glossentry>
<glossterm><envar>sl_status</envar></glossterm>
<glossdef>
<para>
Cette vue est à coup sûr la plus utile pour surveiller l'activité
de la réplication. Elle regarde les événements du nœud local
et vérifie à quelle vitesse ils sont confirmés sur les autres
nœuds.
</para>
<para>
Cette vue est principalement utile sur le nœud origine
(le <quote>maître</quote>) car c'est seulement sur ce nœud que
les événements nécessitent du travail. Les événements générés sur les
autres nœuds sont généralements des événements de synchronisation
qui ne réclame pas de travail de réplication. Ce sont pratiquement des
opérations vides.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>&slconfirm;</glossterm>
<glossdef>
<para>
Contient les confirmations des événements de réplication ; ceci
peut ensuite être utilisé pour inférer les événements traités et
surtout ceux qui <emphasis>ne sont pas encore</emphasis> traités.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>&slevent;</glossterm>
<glossdef>
<para>
Contient des informations sur les événements de réplication traités
sur le nœud local.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>&sllog1; et &sllog2;</glossterm>
<glossdef>
<para>
Ces tables contiennent des données réplicables. Sur un nœud
origine, node, cela représente la <quote>queue</quote> des données
qui ne sont pas nécessairement répliquées partout. En examinant cette
table, vous pouvez examiner le détail des données réplicables.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>&slnode;</glossterm>
<glossdef>
<para>
La liste des nœuds du cluster.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>&slpath;</glossterm>
<glossdef>
<para>
Cette table contient les informations de connexion. Elle indique comment
les processus slon peuvent se connecter aux nœuds distants, que
ce soit pour accéder aux événements ou pour réclamer les données
réplicables.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>&sllisten;</glossterm>
<glossdef>
<para>
Cette configuration indique comment les nœuds écoutent les
événements en provenance des autres nœuds. Généralement,
cette table est peuplée automatiquement ; vous pouvez
détecter des problèmes de configuration si cette table est
<quote>sous-peuplée</quote>.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>&slregistry;</glossterm>
<glossdef>
<para>
Une table de configuration qui peut être utilisée pour stocker
différentes données à l'exécution. Actuellement seulement utilisée
pour férer la bascule entre les deux tables de log.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>&slseqlog;</glossterm>
<glossdef>
<para>
Contient la <quote>dernière valeur</quote> des séquences répliquées.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>&slset;</glossterm>
<glossdef>
<para>
Contient la définition des ensembles de réplication. C'est le mécanisme
utilisé pour grouper les tables et séquences réplicables.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>&slsetsync;</glossterm>
<glossdef>
<para>
Contient des informations sur l'état de la synchronisation pour chaque
ensemble de réplication, ceci incluant les données des images de
transaction.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>&slsubscribe;</glossterm>
<glossdef>
<para>
Indique quels abonnements sont effectifs pour chaque ensemble de
réplication.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>&sltable;</glossterm>
<glossdef>
<para>
Contient la liste des tables en cours de réplication.
</para>
</glossdef>
</glossentry>
</glosslist>
<sect2 id="testslonystate">
<title>test_slony_state</title>
<indexterm><primary>script test_slony_state pour tester l'état de la réplication</primary></indexterm>
<para>
Ce script indispensable réalise différentes sortes d'analyse de l'état d'un
cluster &slony1;. Les <xref linkend="bestpractices"/> de &slony1; recommendent
l'exécution de ces scripts fréquemment (toutes les heures est une bonne idée)
pour découvrir les problèmes aussi rapidement que possible.
</para>
<para>
Vous pouvez spécifier les arguments en incluant <option>database</option>,
<option>host</option>, <option>user</option>,
<option>cluster</option>, <option>password</option> et
<option>port</option> pour vous connecter à un nœud du cluster. Vous
pouvez aussi indiquer une commande <option>mailprog</option> (qui doit être
un équivalent de l'application <productname>Unix</productname>
<application>mailx</application>) et un destinataire des messages.
</para>
<para>
Autrement, vous pouvez spécifier les paramètres de connexion à la base de
données via les variables d'environnement utilisées par
<application>libpq</application>, <emphasis>c'est-à-dire</emphasis> en
utilisant <envar>PGPORT</envar>, <envar>PGDATABASE</envar>,
<envar>PGUSER</envar>, <envar>PGSERVICE</envar> et ainsi de suite.
</para>
<para>
Le script parcourt <xref linkend="table.sl-path"/> pour trouver tous les
nœuds du cluster et les DSN pour lui permettre de se connecter à
chacun d'entre eux.
</para>
<para>
Pour chaque nœ, the script examine l'état de différents éléments,
dont :
</para>
<itemizedlist>
<listitem>
<para>
Vérification de <xref linkend="table.sl-listen"/> sur certains
problèmes <quote>analytiquement déterminables</quote>. Il liste
les chemins non couverts.
</para>
</listitem>
<listitem>
<para>
Rapport des événements par nœud d'origine.
</para>
<para>
Si un nœud n'a pas soumis d'événements depuis un moment, cela suggère
un problème.
</para>
</listitem>
<listitem>
<para>
Résumé de l'<quote>âge</quote> de la table <xref linkend="table.sl-confirm"/>
</para>
<para>
Si un des nœuds du cluster ne s'est pas manifesté récemment, cela fait que
tables comme &sllog1;, &sllog2; et &slseqlog; ne sont plus nettoyées.
</para>
</listitem>
<listitem>
<para>
Résumé des transactions longues
</para>
<para>
Ceci fonctionne seulement si le collecteur de statistiques est configuré
pour récupérer les requêtes en cours d'exécution, option contrôlée par
le paramètre <option>stats_command_string</option> du fichier
<filename>postgresql.conf</filename>.
</para>
<para>
Si vous avez des applications qui maintiennent anormalement des connexions
ouvertes, le script les trouvera.
</para>
<para>
Si vous avez des applications qui maintiennent anormalement des connexions
ouvertes, cela aura des effets néfastes comme ceux <link
linkend="longtxnsareevil">décrits dans la FAQ</link>.
</para>
</listitem>
</itemizedlist>
<para>
Le script réalise un travail de diagnostique se basant sur les paramètres
du script ; si vous n'aimez pas les valeurs par défaut, n'hésitez pas
à les modifier !
</para>
<note>
<para>
Notez qu'il existe deux versions, une utilisant le module Perl
<quote>classic</quote> <filename>Pg.pm</filename> pour accéder aux bases de
données &postgres; et une, dont le nom contient <filename>dbi</filename>,
qui utilise la nouvelle interface <function> DBI</function> de Perl.
Il sera plus facile de trouver des packages pour<function>DBI</function>.
</para>
</note>
</sect2>
<sect2>
<title>Tester la replication avec &nagios;</title>
<indexterm><primary>&nagios; pour surveiller la réplication</primary></indexterm>
<para>
Le script <command>psql_replication_check.pl</command>, qui se trouve dans le
répertoire <filename>tools</filename>, regroupe les meilleures tentatives de
de tests utilisables par le système de surveillance <ulink
url="http://www.nagios.org/">&nagios;</ulink>.
</para>
<para>
Un script antérieur, nommé <filename>test_slony_replication.pl</filename>,
utilisait une approche <quote>intelligente</quote> : un <quote>script de
test</quote> est exécuté périodiquement et se déploie à travers les
configurations &slony1; pour trouver l'origine et les abonnés, injecte un
changement et observe sa propagation à travers le système. Il présentait deux
problèmes :
</para>
<itemizedlist>
<listitem>
<para>
En cas de problème de connectique impactant le nœud qui jouait ce
test, c'est l'ensemble de réplication qui semblait détruite. De plus,
cette stratégie de surveillance est très fragile et dépend de nombreuses
conditions d'erreurs.
</para>
</listitem>
<listitem>
<para>
&nagios; n'a pas la possibilité de profiter de l'
<quote>intelligence</quote> d'une exploration automatique d'un ensemble
de nœuds. Vous devez mettre en place des règles de surveillance
&nagios; pour chaque nœud.
</para>
</listitem>
</itemizedlist>
<para>
Le nouveau script, <command>psql_replication_check.pl</command>, utilise une
approche minimaliste qui suppose que le système est un système en ligne
recevant un <quote>trafic</quote> régulier, et vous permet de définir une vue
spécifique pour le test de réplication appelée
<envar>replication_status</envar> qui doit contenir des mises à jour
régulières. Cette vue regarde simplement la dernière
<quote>transaction</quote> sur le nœud, et liste son horodatage, son
âge ainsi que quelques informations sur l'application qui peuvent être
utiles.
</para>
<itemizedlist>
<listitem>
<para>
Pour un système d'inventaire, cela pourrait être le numéro de l'ordre
effectué le plus récemment.
</para>
</listitem>
<listitem>
<para>
Pour un serveur de nom de domaines, cela peut être le nom du dernier
domaine créé.
</para>
</listitem>
</itemizedlist>
<para>
Une instance du script doit être exécutée sur chaque nœud
surveillé ; c'est ainsi que &nagios; fonctionne.
</para>
</sect2>
<sect2 id="slonymrtg">
<title>Surveiller &slony1; avec MRTG</title>
<indexterm><primary>Utiliser MRTG pour surveiller la réplication</primary></indexterm>
<para>
Un utilisateur a expliqué sur la liste de discussion de &slony1; comment
configurer <ulink url="http://people.ee.ethz.ch/~oetiker/webtools/mrtg/">
<application>MRTG</application></ulink> (acronyme de « Multi Router
Traffic Grapher ») pour surveiller une réplication &slony1;.
</para>
<para>
[...] puisque j'utilise <application>MRTG</application> pour visualiser les
données depuis plusieurs serveurs, j'utilise SNMP
(<application>net-snmp</application> pour être exact). Pour un serveur de
bases de données, j'ai ajouté la ligne suivante à la configuration de
<application>snmpd</application> :
</para>
<programlisting>
exec replicationLagTime /cvs/scripts/snmpReplicationLagTime.sh 2
</programlisting>
<para>
avec <filename>/cvs/scripts/snmpReplicationLagTime.sh</filename> contenant
ceci :
</para>
<programlisting>
#!/bin/bash
/home/pgdba/work/bin/psql -U pgdba -h 127.0.0.1 -p 5800 -d _DBNAME_ -qAt -c
"select cast(extract(epoch from st_lag_time) as int8) FROM _irr.sl_status
WHERE st_received = $1"
</programlisting>
<para>
Ensuite, dans la configuration de mrtg, j'ai ajouté la cible suivante :
</para>
<programlisting>
Target[db_replication_lagtime]:extOutput.3&extOutput.3:public at db::30:::
MaxBytes[db_replication_lagtime]: 400000000
Title[db_replication_lagtime]: db: replication lag time
PageTop[db_replication_lagtime]: <H1>db: replication lag time</H1>
Options[db_replication_lagtime]: gauge,nopercent,growright
</programlisting>
<para>
De son coté, Ismail Yenigul propose une méthode pour surveiller
&slony1; en utilisant <application>MRTG</application> sans installer
<application>SNMPD</application>.
</para>
<para>
Voici sa configuration MRTG :
</para>
<programlisting>
Target[db_replication_lagtime]:`/bin/snmpReplicationLagTime.sh 2`
MaxBytes[db_replication_lagtime]: 400000000
Title[db_replication_lagtime]: db: replication lag time
PageTop[db_replication_lagtime]: <H1>db: replication lag time</H1>
Options[db_replication_lagtime]: gauge,nopercent,growright
</programlisting>
<para>
Et voici sa version modifiée du script :
</para>
<programlisting>
# cat /bin/snmpReplicationLagTime.sh
#!/bin/bash
output=`/usr/bin/psql -U slony -h 192.168.1.1 -d endersysecm -qAt -c
"select cast(extract(epoch from st_lag_time) as int8) FROM _mycluster.sl_status WHERE st_received = $1"`
echo $output
echo $output
echo
echo
# end of script#
</programlisting>
<note>
<para>
MRTG attend quatre lignes en provenance du script. Puisque le script n'en
fournit que deux, la sortie doit être prolongée de deux lignes.
</para>
</note>
<para>
Autrement, Ismail Yenigul indique comment il a géré la surveillance de Slony
en utilisant <application>MRTG</application> sans installer
<application>SNMPD</application>.
</para>
<para>
Voici la configuration de mrtg :
</para>
<programlisting>
Target[db_replication_lagtime]:`/bin/snmpReplicationLagTime.sh 2`
MaxBytes[db_replication_lagtime]: 400000000
Title[db_replication_lagtime]: db: replication lag time
PageTop[db_replication_lagtime]: <H1>db: replication lag time</H1>
Options[db_replication_lagtime]: gauge,nopercent,growright
</programlisting>
<para>
et voici une version modifiée du script :
</para>
<programlisting>
# cat /bin/snmpReplicationLagTime.sh
#!/bin/bash
output=`/usr/bin/psql -U slony -h 192.168.1.1 -d endersysecm -qAt -c
"select cast(extract(epoch from st_lag_time) as int8) FROM _mycluster.sl_status WHERE st_received = $1"`
echo $output
echo $output
echo
echo
# end of script#
</programlisting>
<note>
<para>
MRTG attend quatre lignes du script et comme il n'y a que deux lignes
fournies, l'affichage doit se voir ajouter quatre lignes.
</para>
</note>
</sect2>
<sect2 id="search-logs">
<title><command>search-logs.sh</command></title>
<indexterm><primary>chercher dans les journaux applicatifs &slony1; avec search-logs.sh</primary></indexterm>
<para>
Ce script est construit pour chercher dans les journaux applicatifs &slony1;,
à un emplacement donné (<envar>LOGHOME</envar>), en se basant à la fois
sur les conventions de nommage utilisées par les systèmes <xref
linkend="launchclusters"/> et <xref linkend="slonwatchdog"/> lors du
démarrage des processus &lslon;.
</para>
<para>
Si des erreurs sont trouvées, elles sont listées pour chaque fichier et
transmises par courriel à un utilisateur spécifié
(<envar>LOGRECIPIENT</envar>) ; si aucun courriel n'est spécifié, le
résultat est affiché sur la sortie standard.
</para>
<para>
<envar>LOGTIMESTAMP</envar> permet de rechercher à partir de cette (plutôt
sur la dernière heure).
</para>
<para>
Un administrateur peut exécuter ce script une fois par heure pour surveiller
les problèmes de réplication.
</para>
</sect2>
<sect2 id="wikigen">
<title>Produire un rapport de surveillance au format MediaWiki</title>
<indexterm><primary>générer la documentation Wiki d'un cluster</primary></indexterm>
<para>
Le script <filename>mkmediawiki.pl </filename>, situé dans
<filename>tools</filename>, peut être utilisé pour générer un rapport de
surveillance du cluster compatible avec le populaire logiciel <ulink
url="http://www.mediawiki.org/">MediaWiki</ulink>. Notons que l'option
<option>--categories</option> permet à l'utilisateur de préciser un ensemble
de catégories (séparées par une virgule) qui seront associées aux résultats.
Si vous avez passer l'option <option>--categories=slony1</option> à une série
de clusters &slony1;, cela entraînera la création d'une page catégorie
répertoriant l'ensemble des clusters &slony1;.
</para>
<para>
On pourra utiliser le commande ainsi :
</para>
<screen>
~/logtail.en> mvs login -d mywiki.example.info -u "Chris Browne" -p `cat ~/.wikipass` -w wiki/index.php
Doing login with host: logtail and lang: en
~/logtail.en> perl $SLONYHOME/tools/mkmediawiki.pl --host localhost --database slonyregress1 --cluster slony_regress1 --categories=Slony-I > Slony_replication.wiki
~/logtail.en> mvs commit -m "More sophisticated generated Slony-I cluster docs" Slony_replication.wiki
Doing commit Slony_replication.wiki with host: logtail and lang: en
</screen>
<para>
Notons que <command>mvs</command> est un client Mediawiki écrit en Perl ;
sur <ulink url="http://www.debian.org/">Debian GNU/Linux</ulink>, le paquet
associé est nommé <application>libwww-mediawiki-client-perl</application> ;
d'autres systèmes disposent probablement d'une version packagée sous un nom
similaire.
</para>
</sect2>
<sect2>
<title>Analyse d'un SYNC</title>
<para>
Ce qui suit est un extrait du log &lslon; (version 2.0) pour le nœud
#2 dans une exécution de <quote>test1</quote> à partir de <xref linkend="testbed"/>.
</para>
<screen>
DEBUG2 remoteWorkerThread_1: SYNC 19 processing
INFO about to monitor_subscriber_query - pulling big actionid list 134885072
INFO remoteWorkerThread_1: syncing set 1 with 4 table(s) from provider 1
DEBUG2 ssy_action_list length: 0
DEBUG2 remoteWorkerThread_1: current local log_status is 0
DEBUG2 remoteWorkerThread_1_1: current remote log_status = 0
DEBUG1 remoteHelperThread_1_1: 0.028 seconds delay for first row
DEBUG1 remoteHelperThread_1_1: 0.978 seconds until close cursor
INFO remoteHelperThread_1_1: inserts=144 updates=1084 deletes=0
INFO remoteWorkerThread_1: sync_helper timing: pqexec (s/count)- provider 0.063/6 - subscriber 0.000/6
INFO remoteWorkerThread_1: sync_helper timing: large tuples 0.315/288
DEBUG2 remoteWorkerThread_1: cleanup
INFO remoteWorkerThread_1: SYNC 19 done in 1.272 seconds
INFO remoteWorkerThread_1: SYNC 19 sync_event timing: pqexec (s/count)- provider 0.001/1 - subscriber 0.004/1 - IUD 0.972/248
</screen>
<para>
Voici quelques notes pour interpréter cet affichage :
</para>
<itemizedlist>
<listitem>
<para>
Notez la ligne qui indique
<screen>inserts=144 updates=1084 deletes=0</screen>
</para>
<para>
Ceci indique le nombre de lignes touchées par ce SYNC.
</para>
</listitem>
<listitem>
<para>
Notez la ligne qui indique
<screen>0.028 seconds delay for first row</screen>
</para>
<para>
Ceci indique le temps que <screen>LOG cursor</screen> a pris pour
traiter la première ligne de données. Habituellement, ceci prend du
temps si le SYNC est important et nécessite un tri d'un ensemble
de résultats.
</para>
</listitem>
<listitem>
<para>
Notez la ligne qui indique
<screen>0.978 seconds until close cursor</screen>
</para>
<para>
Ceci indique la durée du traitement par le fournisseur.
</para>
</listitem>
<listitem>
<para>sync_helper timing: large tuples 0.315/288</para>
<para>
Cet élément séparé est le nombre de grosses lignes
(<emphasis>c'est-à-dire</emphasis> dont la taille dépasse la valeur du
paramètre de configuration <xref linkend="slon-config-max-rowsize"/>).
Ces lignes ont été traités individuellement.
</para>
</listitem>
<listitem>
<para><screen>SYNC 19 done in 1.272 seconds</screen></para>
<para>
Ceci indique qe le traitement a pris au total 1.272 secondes pour cet
ensemble de SYNC.
</para>
</listitem>
<listitem>
<para>
<screen>SYNC 19 sync_event timing: pqexec (s/count)- provider 0.001/1 - subscriber 0.004/0 - IUD 0.972/248</screen>
</para>
<para>
Ceci enregistre une information sur le nombre de requêtes lancées sur les
fournisseurs et abonnés dans la fonction <function>sync_event()</function>
ainsi que le temps pris pour cela.
</para>
<para>
Notez que 248 ne correspond pas aux nombres d'INSERT/UPDATE/DELETE
décrits précédemment car ces requêtes sont groupées pour être soumises
via un seul appel à <function>pqexec()</function> sur le fournisseur.
</para>
</listitem>
<listitem>
<para>
<screen>sync_helper timing: pqexec (s/count)- provider 0.063/6 - subscriber 0.000/6</screen>
</para>
<para>
Ceci enregistre l'information du nombre de requêtes exécutées sur les
fournisseurs et les abonnés dans la fonction <function>sync_helper()</function>,
ainsi que le temps pris pour cela.
</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>