Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 30/01/2013 12:56:31
- gom
- Membre
Quelle quantité de RAM allouer ?
Bonjour,
Question simple et courte : pourquoi le serveur de Prod de mon client a un shared_buffers à 2GB alors que le serveur (dédié avec seulement la base de Prod) possède 8GB de RAM ?
# - Connexions -
listen_addresses = ’*’
# - Memoire -
shared_buffers = 2GB
wal_buffers = 8MB
work_mem = 300MB
maintenance_work_mem = 512MB
# - Journaux de transactions -
checkpoint_segments = 50
checkpoint_timeout = 10min
checkpoint_completion_target = 0.9
# - Optimiseur -
effective_cache_size = 5376MB
random_page_cost = 2.0
# - Statistiques -
track_activity_query_size = 4096
# - Traces -
log_filename = ’postgresql-%Y-%m-%d.log’
log_truncate_on_rotation = off
log_line_prefix = ’%t [%p] : [%l-1] ’
lc_messages = ’C’
log_checkpoints = on
log_lock_waits = on
log_temp_files = 0
log_autovacuum_min_duration = 0
# - Module pg_stat_statements -
shared_preload_libraries = ’pg_stat_statements’
custom_variable_classes = ’pg_stat_statements’
pg_stat_statements.max = 1000
pg_stat_statements.track = top
pg_stat_statements.save = on
Merci d'éclairer ma lanterne !
Gôm
Dernière modification par gom (30/01/2013 12:57:40)
Hors ligne
#2 30/01/2013 14:24:15
- rjuju
- Administrateur
Re : Quelle quantité de RAM allouer ?
Bonjour,
tout simplement parce que 25% de la RAM pour le shared_buffers est un réglage qui convient bien en général. Postgres utilise des accès disques standard, et le cache système est donc à prendre en compte. De plus, la valeur de work_mem est très haute (300 Mo), et une grande quantité de RAM peut être utilisée pour les tris. Le paramètre wal_buffers pourrait par contre être montée à 16Mo.
Julien.
https://rjuju.github.io/
Hors ligne
#3 30/01/2013 15:12:37
- gom
- Membre
Re : Quelle quantité de RAM allouer ?
Bonjour rjuju !
tout simplement parce que 25% de la RAM pour le shared_buffers est un réglage qui convient bien en général.
OK donc je laisse le shared_buffers à 2GB. Merci.
Postgres utilise des accès disques standard, et le cache système est donc à prendre en compte.
Cela signifie que plutôt d'augmenter le shared_buffers, il vaudrait mieux que je vérifie le paramétrage du cache système ?
De plus, la valeur de work_mem est très haute (300 Mo), et une grande quantité de RAM peut être utilisée pour les tris.
Je n'ai pas compris. Ai-je quelque chose à modifier au final ?
Le paramètre wal_buffers pourrait par contre être montée à 16Mo.
OK je change ça tout de suite. Encore merci !
Précision : ma base de Prod est un Datawarehouse et mon serveur tourne sur Redhat 5.4.
Gôm
Hors ligne
#4 12/02/2013 00:18:18
- gleu
- Administrateur
Re : Quelle quantité de RAM allouer ?
Cela signifie que plutôt d'augmenter le shared_buffers, il vaudrait mieux que je vérifie le paramétrage du cache système ?
Non, il ne se configure pas.
Ai-je quelque chose à modifier au final ?
Oui, baisser work_mem.
Guillaume.
Hors ligne
#5 12/02/2013 19:12:28
- gom
- Membre
Re : Quelle quantité de RAM allouer ?
Ai-je quelque chose à modifier au final ?
Oui, baisser work_mem.
Merci.
A combien ?
Hors ligne
#6 12/02/2013 21:21:39
- gleu
- Administrateur
Re : Quelle quantité de RAM allouer ?
À moins
En fait, c'est à corréler avec le nombre de connexions maximum possibles.
Guillaume.
Hors ligne
Pages : 1