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 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
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>
From | Date | Subject | |
---|---|---|---|
Next Message | Francis Leboutte | 2008-05-25 14:29:28 | Drupal, CMS avec PG |
Previous Message | Valérie SCHNEIDER | 2008-05-16 12:59:47 | Re: Problème d'update : résolu !!! |