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

Re: Problème d'update et de performance

From: Alain <eurlix(dot)alain(at)free(dot)fr>
To: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
Cc: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: Problème d'update et de performance
Date: 2008-05-16 16:50:46
Message-ID: 20080516185046.5e762157.eurlix.alain@free.fr (view raw or flat)
Thread:
Lists: pgsql-fr-generale
On Fri, 16 May 2008 13:33:05 +0200
Guillaume Lelarge <guillaume(at)lelarge(dot)info> wrote:

> Alain a écrit :
> > [...]
> > - PG stocke temporairement les modifs en mémoire, puis ensuite dans /tmp,
> >   combien de temps ? existe-t'il quelque chose style "sync" ?
> 
> Excuse-moi mais tu tiens ça d'où ?
> 
 Voila 7 ou 8 ans je cherchait à comprendre comment ça marche
 (les SGBD en général et PG en particulier) comme ça marche +tot
 je cherche moins ;-)
 J'ai lu plein de trucs, en français ou en anglais, peut-être pas tout compris
 ni tout retenu ?
 Résumé : PG stocke temporairement les modifs en mémoire, ensuite dans le swap
	 (sur disque, tempo aussi. Jusqu'à quand ?)
	Une doc qui m'avait paru intéressante disait, en résumé, que ce n'était
        pas nécessaire d'agrandir l'espace mémoire PG sous Linux, car Linux gére
	très bien son swap, donc la mémoire allouée et ensuite /tmp qui semble
        géré de façon particuliére.         J'ai peut-être TOUT FAUX ?

AMHA, aussi bon que soit Linux, et quelle que soit la façon dont il gére ses
caches sur disque, ça ne peut pas être instantané. D'autre part, enregistrer 
dans le cache disque (de PG) puis ensuite dans des "journaux" (/disque ?) 
et vérifier tout ça lors de la transaction suivante, ça prend du temps ...
Comment réduire ce temps, qui diminue avec le temps, la petite expérience que j'ai
c'est de faire un VACUUM avant (s'il risque d'y avoie eu beaucoup de mise à jour
précédemment) et après une grosse mise à jour en batch, pour ne pas pénaliser les
suivants.

Je n'essaie pas de faire un cours de physique quantique, ni étalage de mes connaisances,
bien modestes, juste d'aider quelqu'un de surpris par 15 mn .. 3 ms.
Les 15 mn ne me paraissent pas aberrants pour le volume ( faudrait essayer de le faire 
à la mimine avec un fichier type CISAM), les <3 ms ÈPOUSTOUFLANTS : là, je me demande 
comment fait PG.

   
> Les modifications réalisées par des opérations de type 
> INSERT/UPDATE/DELETE sont immédiatement faite dans le cache disque de 
> PostgreSQL, donc en mémoire. S'il n'a pas assez de place dans ce cache 
> disque, les tampons de cache les moins utilisées sont immédiatement 
> enregistrées dans les journaux de transaction. Les tampons en question 
> sont ensuite libérés puis réutilisés pour d'autres pages disque. Jamais 
> (à ma connaissance) PostgreSQL ne stocke des choses dans /tmp (en dehors 
> de la socket Unix par exemple).
> 
> 
> -- 
> Guillaume.
>   http://www.postgresqlfr.org
>   http://dalibo.com
> 


-- 
Alain <eurlix(dot)alain(at)free(dot)fr>

In response to

pgsql-fr-generale by date

Next:From: Francis LeboutteDate: 2008-05-25 14:29:28
Subject: Drupal, CMS avec PG
Previous:From: Valérie SCHNEIDERDate: 2008-05-16 12:59:47
Subject: Re: Problème d'update : résolu !!!

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