Re: temps de rodage postgresql

Stéphane Schildknecht <[email protected]> Thu, 24 Aug 2017 11:03:24 +0200
Newsgroups gmane.comp.db.postgresql.french
Message-ID <[email protected]>
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 <[email protected]
> <mailto:[email protected]>> 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 ([email protected])