Re: temps de rodage postgresql

From: Michel Payan <michel(dot)payan(at)gmail(dot)com>
To: Pgsql Fr Generale <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: temps de rodage postgresql
Date: 2017-08-24 09:32:04
Message-ID: CAPFLA-PDAc040ZrwnjEA5HM8f7H2-YPoVO=ASLSfrJpfB8cnhw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Il n'existe pas de "paramètre magique" !
Comme le propose Stéphane, tu peux utiliser pg_prewarm pour monter une
table en cache.
Le plus couramment utilisé est de simuler une activité utilisateur par un
programme (que vous aurez écrit) et qui va jouer les requêtes (en avance de
phase) que vont passer les utilisateurs. Mais il va falloir coder ...

Le 24 août 2017 à 11:03, Stéphane Schildknecht <
stephane(dot)schildknecht(at)postgres(dot)fr> a écrit :

> Le 24/08/2017 à 10:55, Michel Payan a écrit :
> > Bonjour,
> >
> > on parle plutôt de "montée en cache" plus que de "rodage", c'est le cas
> pour
> > tous les types de sgbdr.
> > Après un AR de PG, il faut "remplir" son cache, tu as aussi le cache FS
> qui va
> > jouer si tu as fait un AR de ta machine ...
> > Tu peux créer un "chauffeur de cache" en exécutant des requêtes
> applicatives
> > après un AR pour "forcer" le remplissage des caches (c'est monnaie
> courante).
> >
> > Le 24 août 2017 à 10:33, CRUMEYROLLE Pierre <pierre(dot)crumeyrolle(at)c-s(dot)fr
> > <mailto:pierre(dot)crumeyrolle(at)c-s(dot)fr>> a écrit :
> >
> >
> > Bonjour ,
> >
> > Sur une BD postgresql avec environ 8 millions d'enregistrements
> >
> > 8M d'entrées dans la table T1
> > 8M d'entrées dans la table T2
> > 8M d'entrées dans la table T3
> > 8M d'entrées dans la table T4
> >
> >
> > J'observe une lenteur pour effectuer les requêtes en BD au démarrage
> de
> > l'application qui est lancée juste après le démarrage de PostgreSQL.
> > il est difficile de tenir 100 clients qui effectuent chacun une
> dizaine de
> > requêtes sur ces tables toutes les 20 secondes.
> > Suite à un certain temps, le lendemain, la BD est beaucoup plus
> rapide. On
> > peut tenir 640 clients sans aucune difficulté.
> >
> > Qu'est-ce qui pourrait expliquer cette différence, ce temps de
> rodage ?
> > Y'a-t-il un paramètre qui permette d'avoir de bonnes performances
> dés le
> > lancement de la base de donnée sans avoir à attendre 24h ?
> >
> > serveur avec 16 Go de RAM
> > shared_buffers = 1 x RAM / 3 soit environ 5 Go
> > effective_cache_size = 1 x RAM / 2 soit environ 8 Go
> > work_mem = 8
> >
> > Merci par avance pour une piste
>
> Bonjour,
>
> Une autre piste envisageable est l'utilisation de l'extension "pg_prewarm"
> :
> https://www.postgresql.org/docs/current/static/pgprewarm.html
>
> Elle permet de forcer le chargement d'une table dans le cache.
>
> Librement,
> --
> Dr. Stéphane Schildknecht
>
> Contact régional PostgreSQL pour l'Europe francophone
> Gérant de Loxodata, société de conseil, support et formation
>
> 01.79.72.57.75
>
>
> --
> Envoi via la liste pgsql-fr-generale (pgsql-fr-generale(at)postgresql(dot)org)
>

In response to

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Dimitri Fontaine 2017-08-24 10:12:53 Re: temps de rodage postgresql
Previous Message Stéphane Schildknecht 2017-08-24 09:03:24 Re: temps de rodage postgresql