[gull] Parallelize Postgresql request

felix felix at f-hauri.ch
Thu Oct 10 19:17:12 CEST 2024


Le Thu, Oct 10, 2024 at 01:46:52PM +0200, Marc SCHAEFER via gull a écrit :
> On Thu, Oct 10, 2024 at 08:39:03AM +0200, felix via gull wrote:
> > Les machines sont différentes, mais cela n'explique pas:
> >    - Window 32G 12 coeurs 3GHz
> >    - Linux  16G 8 coeurs. 3.2GHz
> > Sous linux la swap n'est pas accédée.
> 
> Attention à ce que Linux soit natif, pas comme VM.  La différence de
> performance peut être d'un facteur 3.
Linux natif, sous Debian 12, tout nu (ssh + standard utilities).

> La différence de RAM pourrait aussi expliquer certaines choses, mais
> peut-être pas ça:
Non: 
``free'' m'assure que les 16 Go sont larges et que la swap n'est pas effleurée.

> > En donc en suivant les acticités des processeurs, sous window on voit 
> > clairement les 12 cpu qui s'agittent durant les 8 secondes, alors que 
> > sous linux, on voit 1 processeur au top durant 4 secondes, puis un autre 
> > ``prend le relais'', ainsi de suite, à aucun moment je ne voit plus d'un 
> > coeur au top.
> 
> Effectivement, c'est certainement le souci.  Sauf si c'est I/O bound
> (voir dès la 2e ligne de `vmstat 5`).
sous window, une douzaine de graphique en petite montagnes, pas de saturation
sous linux, un proc part à 100%, descend à ~0, pendant qu'un autre monte à 100%,
ainsi de suite, 3 ou 4 fois....

> utilises un index scan ou un séquential scan, de mémoire.
> 
> D'après la FAQ [1], le paramètre max_parallel_workers_per_gather devrait
> être configuré raisonnablement par défaut.
Ouais, ben non?

> A voir tu peux debugger
> et forcer avec https://postgresqlco.nf/doc/en/param/debug_parallel_query/
Tiens, merci! Je vais
 - essayer ça
 - comparer les **résultats** à proprement parler des fameuses queries...
   ( En y repensant, je ne me souvient pas avoir comparé les résultats!;-)

> > Il faut dire que ``measured on an arbitrary scale'' et ``same scale as above''
> > ne sont pas des information très explicites.
> 
> Tu devrais poser la question sur la ml postgresql. J'avais eu une fois
> un problème bizarre et ils avaient été très réactifs.
Je vais faire ça au pire...

> https://wiki.postgresql.org/wiki/FAQ#How_does_PostgreSQL_use_CPU_resources.3F
D'abord, je vais lire ça, mais pas ce soir!

> https://postgresqlco.nf/doc/en/param/max_parallel_workers_per_gather/
J'avais commencé par ça...

Encore merci! A+!

-- 
 Félix


More information about the gull mailing list