PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 31/03/2020 13:46:10

kenrio
Membre

Modification Checkpoint_segments ?

On a une grosse mise à jour en cours qui fait énormément d'update,select,delete sur 3 tables environs ( plusieurs millions de lignes )
J'ai donc fatalement ça qui arrive :

2020-03-31 13:33:27 CEST [7687]: [93-1] user=,db=,remote= LOG:  checkpoints are occurring too frequently (11 seconds apart)
2020-03-31 13:33:27 CEST [7687]: [94-1] user=,db=,remote= HINT:  Consider increasing the configuration parameter "checkpoint_segments".

Ma question est plutot comment je dois modifier pour aider la mise à jour pour ensuite revenir à l'état initial ?
Par défaut sur mon pg9.3 j'ai laissé :

#checkpoint_segments = 3                # in logfile segments, min 1, 16MB each
#checkpoint_timeout = 5min              # range 30s-1h
#checkpoint_completion_target = 0.5     # checkpoint target duration, 0.0 - 1.0

Je modifie juste le segments ou aussi le target ?
De plus cela nécessite t il un restart de pg ?
Merci de votre aide.

Hors ligne

#2 31/03/2020 15:46:49

pifor
Membre

Re : Modification Checkpoint_segments ?

Est-ce que vous avez des traces détaillées des checkpoints avec log_checkpoints=on ? Si oui, pouvez-vous les partager ?
Est-ce que vous avez une estimation du volume de WAL générés pendant la mise à jour et la durée de la mise à jour ?

En 9.3 Les paramètres checkpoint_xxx sont tous statiques et nécessitent un arrêt/relance. Si vous les modifiez et si log_checkpoints est à off, pensez aussi à mettre  log_checkpoints à on.
En général on peut modifier checkpoint_segments et checkpoint_completion_target ensemble: vous pouvez augmenter checkpoint_segments à 10 ou 20 et checkpoint_completion_target à 0,9 pour lisser davantage les écritures.

Dernière modification par pifor (31/03/2020 15:50:21)


Pierre

Hors ligne

#3 31/03/2020 16:43:02

kenrio
Membre

Re : Modification Checkpoint_segments ?

Merci de répondre,
Non le log_checkpoints est a off.
En 1min pendant la mise a jour ( une partie vu qu'on découpe tout pour aider ) j'ai 7 wal de 16mo qui sont produit.
Passer log_checkpoints en on ça va pas rajouter une charge serveur alors que je cherche à la réduire ?
JE serais bien chaud a mettre temporairement 10 en segment et 0,9 en target.

Dernière modification par kenrio (31/03/2020 16:43:15)

Hors ligne

#4 31/03/2020 16:55:03

pifor
Membre

Re : Modification Checkpoint_segments ?

Positionner log_checkpoints à on va uniquement ajouter des traces détaillées de l'activité des checkpoints dans le log (càd le journal des messages) de l'instance PostgreSQL: cela doit être tout à fait négligeable par rapport  aux volumes de WAL écrits pendant la MAJ: il n'y a pas d'inquiétude à avoir que ce soit pour la charge processeur, la mémoire ou les disques.


Pierre

Hors ligne

#5 31/03/2020 17:57:08

kenrio
Membre

Re : Modification Checkpoint_segments ?

Ok je vais voir ce que je peux faire alors, merci.

Hors ligne

Pied de page des forums