Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-fr-generale by date

Next:From: Francis LeboutteDate: 2007-07-31 06:01:58
Subject: comment maximiser les performances PG
Previous:From: Alain LucariDate: 2007-07-30 16:19:02
Subject: Re: Reponse lente de postgres

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group