5. Checkpoints & Recovery
Optimisation du processus de checkpoint pour minimiser les pics d’I/O, et tuning de la récupération après crash.
Objectif: 🎯 Objectif du composant
Réduire l’impact I/O des checkpoints et garantir une récupération rapide après incident. Le tuning de checkpoints impacte directement les performances des systèmes transactionnels et des réplications.
Paramètres: ⚙️ Paramètres concernés
checkpoint_timeout, checkpoint_completion_target, max_wal_size, min_wal_size, wal_writer_delay, wal_keep_size, bgwriter_delay, checkpoint_flush_after
Bonnes pratiques: ✅ Bonnes pratiques
- Fixer checkpoint_completion_target à 0.9 - Étaler les checkpoints pour éviter les pics I/O - Ajuster max_wal_size selon les pics d’écriture - Monitorer pg_stat_bgwriter
Pièges à éviter: ⚠️ Pièges à éviter
- checkpoint_timeout trop court = surconsommation disque - completion_target trop faible = pics brutaux - max_wal_size trop petit = checkpoints fréquents
Recommandations: 👤 Recommandations par profil
OLTP : checkpoint_timeout = 10min, target = 0.9 BI : target = 1.0, max_wal_size = 4GB Critique : activer logs et analyse bgwriter
Exemples: 🧪 Exemples de réglage
ALTER SYSTEM SET checkpoint_timeout = '10min'; ALTER SYSTEM SET checkpoint_completion_target = 0.9; ALTER SYSTEM SET max_wal_size = '2GB';
Commandes utiles: 🛠️ Commandes utiles
SHOW checkpoint_timeout; SELECT * FROM pg_stat_bgwriter; SHOW checkpoint_completion_target;
Références: 🔗 Références officielles
- https://www.postgresql.org/docs/current/runtime-config-wal.html - https://www.cybertec-postgresql.com/en/checkpoint-tuning/ - https://postgresqlco.nf/doc/en/param/checkpoint_completion_target/
