Vous n'êtes pas identifié(e).
Bonsoir,
Depuis très longtemps nous avons ces entrées dans les logs de postgres.
...
2016-11-15 16:36:39 CET LOG: les points de vérification (checkpoints) arrivent trop fréquemment
(toutes les 20 secondes)
2016-11-15 16:36:39 CET ASTUCE : Considèrez l'augmentation du paramètre « checkpoint_segments ».
2016-11-15 16:56:43 CET LOG: les points de vérification (checkpoints) arrivent trop fréquemment
(toutes les 19 secondes)
2016-11-15 16:56:43 CET ASTUCE : Considèrez l'augmentation du paramètre « checkpoint_segments ».
...
Nous avons une base de 100Go contenant une table de 300 millions de rangées dans lequel nous avons beaucoup d'inserts.
Cette base est mise à jour par une application java.
Est-ce grave ?
Que faut-il faire ?
Voilà les paramètres de la configuration des checkpoints actifs dans le moteur :
checkpoint_completion_target=0.5
checkpoint_segments=8
checkpoint_timeout=5min
Merci pour votre aide
Pierre
Hors ligne
Je commencerais par lire le message d'erreur et appliquer le conseil...
Pour être plus précis, positionnez checkpoint_segments à "nombre de journaux de transaction générés en moyenne en 5 minutes".
Julien.
https://rjuju.github.io/
Hors ligne
Merci pour la réponse.
Je connais très peu postgres (nous sommes en 9.2.9)
Où est- ce que je peux trouver cette valeur "nombre de journaux de transaction générés en moyenne en 5 minutes" ?
Hors ligne
Il faut étudier la génération des fichiers dans le répertoire $PGDATA/pg_xlog. Sinon, si vos checkpoint se produisent toutes les 19/20 secondes, multipliez checkpoint_segments par 20 pour avoir environ le nombre de journaux de transaction générés en 5 minutes, avec un peu de marge.
Julien.
https://rjuju.github.io/
Hors ligne
Merci pour votre réponse !
Nous avons 18 journaux de transaction de 16Mo:
- 16 journaux on été modifiés en 4 minutes dont 15 en 45 secondes soit environ toutes les 3 secondes
- les deux autres 5 et 10 mn après
Si j'ai bien compris votre conseil je dois remplacer checkpoint_segments=8 par checkpoint_segments=16
Hors ligne
Il faut le configurer en fonction de la charge moyenne, pas en fonction des 15 dernières minutes. Par exemple si le message indiquant que les chekpoints arrivent trop fréquemment n'apparait qu'une fois par jour, à la limite ce n'est pas trop grave. Je vous conseille de lire la documentation associée : http://docs.postgresql.fr/9.5/wal-configuration.html pour comprendre les enjeux de ce paramètre.
Julien.
https://rjuju.github.io/
Hors ligne
Merci pour la réponse.
En moyenne le message apparait 40 fois/j dans les logs
Donc je pense qu'il est nécessaire de modifier la valeur.
Après avoir lu le doc (pour la version 9.2 http://docs.postgresql.fr/9.2/wal-configuration.html) je remplace checkpoint_segments=8 par checkpoint_segments=16
Modif faite ce matin.
Merci pour votre aide
Dernière modification par plebrun (17/11/2016 10:35:49)
Hors ligne
Retour suite à la modification :
Je n'ai plus de message d'avertissement.
Hors ligne