From: | Guillaume Lelarge <guillaume(at)lelarge(dot)info> |
---|---|
To: | Hajatiana RAHOLIARIJAONA <administrateur(at)saisie(dot)mg> |
Cc: | Jean-Paul Argudo <jean-paul(at)argudo(dot)org>, pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: Reponse lente de postgres |
Date: | 2007-07-30 22:26:52 |
Message-ID: | 46AE65AC.2020909@lelarge.info |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Hajatiana RAHOLIARIJAONA a écrit :
> Bonjour Jean Paul,
>
>> - la version que vous utilisez de PostgreSQL ?
>
> Nous avons Postgresql 8.0.13
>
... qui date de deux ans. Planifiez une mise à jour, c'est important
pour les perfs comme pour vos données.
>> - la liste de tous les paramètres du fichier postgresql.conf
>> qui ne sont pas commentés
>
> max_connections = 500
Vraiment utile, les 500 connexions simultanées possibles ?
> shared_buffers = 2000
Avec 8 Go de mémoire, je verrais plutôt entre 10000 et 20000 pour
commencer (ce qui ne représente que 80 à 160 Mo de mémoire... pensez à
augmenter SHMALL et SHMMAX).
> work_mem = 512
La valeur par défaut est de 1024. Pourquoi l'avoir descendu ? on a
généralement plutôt tendance à augmenter cette valeur (mais pas trop :) ).
> maintenance_work_mem = 131072
Vous pouvez encore la doubler vu votre mémoire.
> deadlock_timeout = 1000 # in milliseconds
> max_locks_per_transaction = 64
> log_min_messages = notice
> log_min_error_statement = panic
>
>> La machine semble correcte, sans plus. Maintenant, je pressens soit un
>> problème de configuration du serveur, soit l'absence de procédures de
>> maintenance, soit un problème au niveau du code (utilisez-vous bien des
>> BEGIN... END dans le code? Utilisez-vous des LOCK explicites, etc...)...
> Pour la maintenance je fais un vacuum tous les jours sur crontab. La
> taille de nos 3 bases de données est actuellement de 40 Go.
>
Dans ce cas, vous pouvez augmenter très sérieusement shared_buffers
(30000 pour commencer). D'ailleurs, je me rends compte que vous n'avez
pas parler de effective_cache_size qui devrait être de 2/3 sous Linux.
> Notre verouillage : LOCK FOR UPDATE, les autres je ne sais pas.
>
Pourquoi des verrous explicites ? sont-ils vraiment nécessaires ?
--
Guillaume.
<!-- http://abs.traduc.org/
http://lfs.traduc.org/
http://docs.postgresqlfr.org/ -->
From | Date | Subject | |
---|---|---|---|
Next Message | Francis Leboutte | 2007-07-31 06:01:58 | comment maximiser les performances PG |
Previous Message | Alain Lucari | 2007-07-30 16:19:02 | Re: Reponse lente de postgres |