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

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: Problème d'update et de performance



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>



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group