Vous n'êtes pas identifié(e).
Bonjour à tous,
Je souhaiterais connaître la "formule" pour configurer correctement les valeurs de vm.dirty_background_bytes et vm.dirty_bytes.
Ou du moins, m'indiquer dans quel cas doit-on l'augmenter ou la diminuer.
Si je ne me trompe pas, ces deux paramètres interviennent dans le "lissage" des checkpoints (checkpoint_completion_target)
De quoi cela dépend-il ? J'imagine que cela dépend des disques, du RAID, ...
Le serveur PostgreSQL serait un serveur dédié.
Merci !
Hors ligne
Bonjour,
Avez-vous setté les paramètres "basiques" avant de toucher à ceux-là ?
Pour moi, les paramètres "basiques" sont:
wal_buffers
checkpoint_completion_target
checkpoint_timeout
en Version 9.4 et avant:
checkpoint_segments
En version 9.5 et après
min_wal_size
max_wal_size
Quelle valeur avez-vous assigné à ces paramètres?
Quelle fréquence de checkpoint voyez-vous dans les logs ?
Cordialement,
Arkhena
Hors ligne
Je n'ai pas encore le serveur en production...
La version PostgreSQL serait la 9.5
mais dans un premier temps voici le configsuration que je compte mettre en place :
wal_buffers = -1 (basé sur shared buffer)
checkpoint_completion_target = 0.9
checkpoint_timeout = 15 min
Pour min_wal_size et max_wal_size, je compte laisser par défaut dans un premier et me baser sur les calculs trouvés sur ce site
Peut-être qu'il sera difficile de répondre à ma question sans serveur en production...
Merci
Dernière modification par adrien1 (12/04/2017 10:08:27)
Hors ligne
Effectivement, tant que vous ne voyez pas tourner l'instance, c'est compliqué de faire de l'optimisation...
Je suis surprise que le lien que vous citez ne parle pas de modifier le paramètre min_wal_size...
Bref, Avant de vous lancer dans la modification de vm.dirty_background_bytes et de vm.dirty_bytes, settez les paramètres basiques et voyez la fréquence de vos checkpoints. S'ils ont lieu plus souvent que checkpoint_timeout, ajustez le paramétrage. Si ensuite vous avez des soucis et que vous identifiez que ces soucis sont liés aux checkpoints, vous pourrez jouer avec dirty_background et dirty_bytes.
Cordialement,
Arkhena
NB: De manière générale, les serveurs n'étant de nos jours plus trop pauvres en RAM, je mets WAL_buffers à 16 Mo pour pouvoir avoir un fichier entier en mémoire...
Hors ligne
Bof, les dirty* n'ont pas uniquement à voir avec les checkpoints. Ça concerne toutes les écritures et ça tient plutôt à ce que la carte RAID est capable de subir. La taille de son cache en écriture donne une bonne idée de ce qu'il faut configurer pour les paramètres dirty* (hint: une valeur légèrement inférieure).
Guillaume.
Hors ligne
Oh, et concernant wal_buffers, la valeur -1 est convenable dans la grande majorité des cas, sauf écritures vraiment violentes.
Guillaume.
Hors ligne
Merci à vous pour vos réponses et informations,
Dès que le serveur sera en production et en cas de souci identifié je rouvrirai le poste.
Bonne journée
Hors ligne