Outils pour utilisateurs

Outils du site


activite_postgres

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
activite_postgres [2020/05/08 18:54] – [Processeurs] fraynaudactivite_postgres [2020/06/08 15:55] (Version actuelle) fraynaud
Ligne 1: Ligne 1:
-=====Monotoring de la base postgres=====+======Monitoring de la base postgres=====
 + 
 + --- //[[f.raynaud@arles-linux.org|François Raynaud]] 2020/06/08 15:55//
  
 Dans ce chapître, nous allons récupérer les statistiques d'activité de la base et les analyser Dans ce chapître, nous allons récupérer les statistiques d'activité de la base et les analyser
Ligne 5: Ligne 7:
 [[https://docs.postgresql.fr/8.2/monitoring-stats.html#monitoring-stats-views-table|source monitoring stat]] [[https://docs.postgresql.fr/8.2/monitoring-stats.html#monitoring-stats-views-table|source monitoring stat]]
  
-====Processeurs====+====Processus====
  
-Prcesseur maître (475) et 6 processeurs fils.+Processus maître (475) et 6 processus fils.
  
 <code> <code>
Ligne 23: Ligne 25:
 la récupération de statistiques (stats collector) ajoute un temps supplémentaire à l'exécution de la requête, le système peut être configuré pour récupérer ou non des informations. la récupération de statistiques (stats collector) ajoute un temps supplémentaire à l'exécution de la requête, le système peut être configuré pour récupérer ou non des informations.
  
-activité du serveur postgres (1 ligne par processeur serveur)+activité du serveur postgres (1 ligne par processus serveur)
 <code> <code>
 select pid,usename,datname from pg_stat_activity ; select pid,usename,datname from pg_stat_activity ;
Ligne 31: Ligne 33:
   507 |          |    507 |          | 
   509 | postgres |    509 | postgres | 
- 4207 | deb      | openstock     processeur par utilisateur + 4207 | deb      | openstock     processus par utilisateur 
   505 |          |    505 |          | 
   504 |          |    504 |          | 
Ligne 75: Ligne 77:
  
 ==== TABLES ====  ==== TABLES ==== 
- 
-<code> 
 pg_stat_all_tables pg_stat_sys_tables pg_stat_user_tables pg_stat_all_tables pg_stat_sys_tables pg_stat_user_tables
  
 +<code>
 select * from pg_stat_user_tables where relname ='jpa'; select * from pg_stat_user_tables where relname ='jpa';
 +
 relid|27036 schemaname|public relname|jpa relid|27036 schemaname|public relname|jpa
 seq_scan|4  seq_tup_read|4   : parcours sequentiels et nb lignes récupérées seq_scan|4  seq_tup_read|4   : parcours sequentiels et nb lignes récupérées
Ligne 93: Ligne 95:
  
 ==== INDEX ====  ==== INDEX ==== 
- 
-<code> 
 pg_stat_all_indexes pg_stat_sys_indexes pg_stat_user_indexes pg_stat_all_indexes pg_stat_sys_indexes pg_stat_user_indexes
 +<code>
 select * from pg_stat_user_indexes where relname='article'; select * from pg_stat_user_indexes where relname='article';
 +
 relid|18236 relid|18236
 indexrelid|18243 indexrelid|18243
Ligne 114: Ligne 116:
 </code> </code>
  
 +==== VACCUM et ANALYZE ====
  
 +[[https://docs.postgresql.fr/8.2/sql-vacuum.html|source]]
  
 +VACUUM — récupère l'espace inutilisé (lignes supprimées) et, optionnellement, analyse une base.
 +A faire sur les tables frequemment mises à jour.
 +
 +<code>
 +
 +vacuum verbose openstock_association.facture;
 +
 +INFO:  vacuuming "openstock_association.facture"
 +INFO:  index "facture_pkey" now contains 2 row versions in 2 pages
 +DETAIL:  0 index row versions were removed.
 +0 index pages have been deleted, 0 are currently reusable.
 +CPU 0.00s/0.00u sec elapsed 0.00 sec.
 +INFO:  "facture": found 0 removable, 2 nonremovable row versions in 1 out of 1 pages
 +DETAIL:  0 dead row versions cannot be removed yet.
 +There were 5 unused item pointers.
 +Skipped 0 pages due to buffer pins.
 +0 pages are entirely empty.
 +CPU 0.00s/0.00u sec elapsed 0.00 sec.
 +INFO:  vacuuming "pg_toast.pg_toast_564276"
 +INFO:  index "pg_toast_564276_index" now contains 0 row versions in 1 pages
 +DETAIL:  0 index row versions were removed.
 +0 index pages have been deleted, 0 are currently reusable.
 +CPU 0.00s/0.00u sec elapsed 0.00 sec.
 +INFO:  "pg_toast_564276": found 0 removable, 0 nonremovable row versions in 0 out of 0 pages
 +DETAIL:  0 dead row versions cannot be removed yet.
 +There were 0 unused item pointers.
 +Skipped 0 pages due to buffer pins.
 +0 pages are entirely empty.
 +CPU 0.00s/0.00u sec elapsed 0.00 sec.
 +Query returned successfully with no result in 92 msec.
 +
 +analyse verbose openstock_association.facture;
 +
 +INFO:  analyzing "openstock_association.facture"
 +INFO:  "facture": scanned 1 of 1 pages, containing 2 live rows and 0 dead rows; 2 rows in sample, 2 estimated total rows
 +Query returned successfully with no result in 34 msec.
 +
 +
 +VACUUM VERBOSE ANALYZE openstock_association.facture;
 +
 +</code>
 +
 +===Recommandations===
 +
 +  * planifier un VACUUM général sur toute la base une fois par jour, en dehors des horaires normaux de production
 +  * VACUUM FULL est recommandé dans les cas où vous savez que vous avez supprimé la majorité des lignes dans une table
 +  *  TRUNCATE (au lieu de delete) supprime le contenu entier de la table immédiatement sans nécessiter un VACUUM ou VACUUM FULL pour réclamer l'espace disque maintenant inutilisé
 +
 +==== autovacuum ====
 +
 +autovacuum (boolean):  Contrôle si le serveur doit démarrer le démon d'autovacuum.
 +(paramètre de postgresql.conf). track_counts doit être aussi activé (statistiques)
 +
 +<code>
 +#------------------------------------------------------------------------------
 +# AUTOVACUUM
 +#------------------------------------------------------------------------------
 +
 +#autovacuum = on # Enable autovacuum subprocess?  'on'
 + # requires track_counts to also be on.
 +
 +</code>
 + 
  
activite_postgres.1588964052.txt.gz · Dernière modification : 2020/05/08 18:54 de fraynaud