[gull] Parallelize Postgresql request
Marc SCHAEFER
schaefer at alphanet.ch
Thu Oct 10 13:46:52 CEST 2024
Hello,
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.
La différence de RAM pourrait aussi expliquer certaines choses, mais
peut-être pas ça:
> 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`).
> Je n'ai pas bien compris non plus les calculs de coûts:
Le seul que j'avais touché dans le passé c'était celui qui décide si tu
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. A voir tu peux debugger
et forcer avec https://postgresqlco.nf/doc/en/param/debug_parallel_query/
> 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.
[1] https://wiki.postgresql.org/wiki/FAQ#How_does_PostgreSQL_use_CPU_resources.3F
https://postgresqlco.nf/doc/en/param/max_parallel_workers_per_gather/
More information about the gull
mailing list