From: | DANTE Alexandra <Alexandra(dot)Dante(at)bull(dot)net> |
---|---|
To: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Threads, libpq et option --enable-thread-safety |
Date: | 2006-07-07 13:37:17 |
Message-ID: | 44AE638D.6010007@bull.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Bonjour,
Je travaille avec la version 8.1.3 de PostgreSQL, sur une machine IA-64
sous RHEL4-AS.
Je réalise des tests avec BenchmarkSQL pour caractériser, en terme de
performances, PostgreSQL dans un environnement transactionnel.
Je suis arrivée au stade des tests avec 4 CPUs et je m'interroge sur la
gestion du multi-threading côté PostgreSQL.
J'ai lu beaucoup de documentation sur ce point, et de ce que j'ai retenu
c'est que PostgreSQL n'est pas multi-threadé mais est multi-process.
Cela explique pourquoi il "forke" des process "postgres" à chaque
connection demandée à la base de données.
=> Cette théorie était-elle correcte ?
=> Est-ce que PostgreSQL autoriserait une requête à s'exécuter en
parallèle sur plusieurs CPUs ?
Ma dernière question concerne l'option de compilation
"--enable-thread-safety". A vrai dire, je ne comprends pas dans quel cas
je peux l'utiliser et ce qu'elle apporte...La définition de cette option
dans la doc officielle est la suivante : "Rend les bibliothèques clients
compatibles avec les threads. Ceci permet des threads concurrents dans
les programmes libpq et ECPG ce qui leur permet de gérer en toute sûreté
leur connexions privées."
Mais cela me ramène à ma première question : PostgreSQL est-il
multi-threadé ?
Tout ceci est encore confus pour moi et j'espère que vous pourrez
m'aider à éclaircir tout cela.
Cordialement,
Alexandra DANTE
From | Date | Subject | |
---|---|---|---|
Next Message | Sébastien Lardière | 2006-07-07 17:43:12 | Re: Threads, libpq et option --enable-thread-safety |
Previous Message | Bernard Clement | 2006-06-26 22:14:06 | Re: Message d'erreur lorsque je souhaite créer une base de données |