Question

Nous exécutons actuellement des applications Web et du serveur de base de données sur SINGE Dédié. C'est la configuration matérielle - http://www.hetzner.de/en/hosting/produkte_rootserver/ex10. Environ 50 Go de RAM est gratuit. Postgressql ne prend que 600 Mo tandis que les processus de serveur Web prennent 7 Go. La charge moyenne du processeur est de 25%.

Le logiciel est Ubuntu 12.04 et Postgres 9.1. La taille de la base de données est de 15 Go.

À mesure que la charge augmentait, notre temps de réponse de l'application est passé de 230 ms à 450 ms au cours des derniers mois. L'application prend 40% de part tandis que DB prend 60% du temps de réponse.

Nous avons mis en cache beaucoup de choses, mais nous nous demandons si nous pouvions obtenir quelque chose en modifiant la configuration de Postgres. Après un peu de recherche, nous avons constaté que la configuration postgresql par défaut (https://gist.github.com/darkofabijan/9453c793ceec1ac6274d) est vraiment conservateur et que nous devrions certainement modifier notre configuration.

Après avoir exécuté PGTUNE, nous avons obtenu les valeurs recommandées suivantes.

maintenance_work_mem = 1GB 
checkpoint_completion_target = 0.7 
effective_cache_size = 44GB 
work_mem = 288MB 
wal_buffers = 4MB 
checkpoint_segments = 8 
shared_buffers = 15GB 
max_connections = 200 

Une fois que nous avons commencé à exécuter notre serveur PostgreSQL avec des valeurs recommandées, nous avons obtenu des pointes régulières lorsque le temps de réponse de l'application est passé à 2000 ms + tandis que l'augmentation était dans le temps de réponse de la base de données. Après l'avoir exécuté pendant quelques heures, nous sommes revenus à la configuration d'origine Ubuntu 12.04 / PostgreSQL 9.1.

De toute évidence, nous n'avons pas beaucoup d'expérience dans l'exécution de DBS. Les deux recommandations concrètes concernant PGTune ont suggéré que les valeurs et les pointeurs vers de bonnes ressources seraient très appréciés.

Modifier 1:

            name            |         current_setting          |        source
----------------------------+----------------------------------+----------------------
 application_name           | psql                             | client
 client_encoding            | UTF8                             | client
 DateStyle                  | ISO, MDY                         | configuration file
 default_text_search_config | pg_catalog.english               | configuration file
 external_pid_file          | /var/run/postgresql/9.1-main.pid | configuration file
 lc_messages                | en_US.UTF-8                      | configuration file
 lc_monetary                | en_US.UTF-8                      | configuration file
 lc_numeric                 | en_US.UTF-8                      | configuration file
 lc_time                    | en_US.UTF-8                      | configuration file
 log_line_prefix            | %t                               | configuration file
 log_timezone               | localtime                        | environment variable
 max_connections            | 100                              | configuration file
 max_stack_depth            | 2MB                              | environment variable
 port                       | 5432                             | configuration file
 shared_buffers             | 24MB                             | configuration file
 ssl                        | on                               | configuration file
 TimeZone                   | localtime                        | environment variable
 unix_socket_directory      | /var/run/postgresql              | configuration file

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top