397 liens privés
fail fast (return http status 503) pour éviter cpu starvation
via https://julien.mailleret.fr/links/?EEONow
Configuration calculator for PostgreSQL
Pour se donner un ordre d'idée, le mieux étant d'utiliser pgtune directement et de RTFM le sens de chaque directive.
Ce qu'il faut globalement savoir:
Structure de la mémoire sous PostgreSQL :
• Zone de mémoire partagée:
• Shared Buffers
• Wal Buffers
• Données de session
• Verrous
• FSM ( < 8.4 )
• Par processus:
• Work Mem
• Maintenance Work Mem
• Temp Buffers
A propos de effective_cache_size ...
Un cache supplémentaire est disponible pour PostgreSQL: celui du système
d'exploitation. Il est donc intéressant de préciser à PostgreSQL la taille
approximative du cache, ou du moins de la part du cache qu'occupera
PostgreSQL. Le paramètre effective_cache_size n'a pas besoin d'être très
précis, mais il permet une meilleure estimation des coûts par le moteur. On le
paramètre habituellement aux alentours des 2/3 de la taille du cache du
système d'exploitation, pour un serveur dédié.
Voir aussi: https://jeekajoo.eu/links/?searchtags=postgresql+tuning
Petite formule saltstack pour faire utiliser les 3/4 de la RAM à la JVM:
"""
Xmx: {{ (((grains.mem_total|int) 3) / 4)|round|int }}M
Xms: {{ (((grains.mem_total|int) 3) / 4)|round|int }}M
"""
J'ai positionné cela dans les pillars.
C'est inspiré de https://mywushublog.com/2013/09/postgresql-salt-state/ (https://jeekajoo.eu/links/?crzrTg)
Cela évite d'avoir à se palucher un tuning manuel pour des machines dont les capacités mémoire sont différentes. Exemple sur ec2:
- m3.2xlarge = 30 G
- c3.2xlarge = 15 G
- c3.xlarge = 7.5 G
- m3.medium = 3.75 G
- ....
un exemple de state saltstack pour postgresql avec un tuning dynamique suivant la taille de la mémoire de la machine. C'est basé sur les conventions de pgtune (http://pgfoundry.org/projects/pgtune/).
coude
par un gars de chez netflix
slides: http://fr.slideshare.net/brendangregg/performance-tuning-ec2-instances
outils pour aider à tunner un mysql
http://mysqltuner.pl/ (https://github.com/major/MySQLTuner-perl)
http://day32.com/MySQL/
http://www.mysqlcalculator.com/
lire aussi
http://www.khankennels.com/presentations/pdf/performance_tuning.pdf