Re: Reponse lente de postgres

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/ -->

In response to

Responses

Browse pgsql-fr-generale by date

  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