Précédent   Forum du club des développeurs et IT Pro > Bases de données > PostgreSQL > Outils
Outils Forum d'entraide sur les outils d'administration de PostgreSQL : PgAdmin, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 17/09/2012, 12h15   #1
vil-farfadet
Membre à l'essai
 
Inscription : avril 2009
Messages : 19
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2009
Messages : 19
Points : 21
Points : 21
Par défaut Perte de performance avec PgPool, une idée ?

Bonjour à tous,

J'espère ne pas me tromper de forum...

Suite à une discussion sur le salon Solutions Linux avec des membres de postgresqlfr, j'ai demandé à mon hébergeur d'ajouter PgPool sur notre serveur dédié (postgresql 8.3 sur ubuntu). À les entendre, c'est particulièrement utile sur un site d'e-commerce.

Il faut dire que l'outil semble des plus alléchants (http://pgpool.projects.postgresql.or...pgpool-fr.html).

Hélas, dès que je bascule mon site du port 5432 (connexion habituelle) vers le 5433 (qu'utilise PgPool), l'outil de monitoring externe que j'utilise (Woozweb) m'annonce des performances en baisse, que ce soit sur le temps de réponse, que sur le temps de chargement de page.
Sur une fiche produit, je n'ai pas de gain ou perte notable. Par contre, sur l'affichage d'un résultat de recherche (tj la même requête), je constate environ 20% de temps de réponse en plus et 40% de temps de chargement en plus !!!

Est-ce que quelqu'un pourrait me donner une piste : mauvais paramétrage ? configuration inadaptée ? autre ?

Merci d'avance.
vil-farfadet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2012, 17h32   #2
SQLpro
Rédacteur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 12 089
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 12 089
Points : 21 704
Points : 21 704
pg_pool permet de gérer plus de connexions. Pas d'améliorer les performances de la BD...
"...améliore les performances générales du système..."
Le système n'a rien à voir avec PG, et le soulagement du système à même ressource se fait au détriment de PG

Si vous voulez les deux il faudra rajouter pas mal de ressources à vos serveurs.... ou dupliquer (load balancing) !

D'autre part trop de parallélisme tue le parallélisme... En effet, chaque thread à besoin d'attendre la fin du plus lambin pour passer à l'étape suivante.

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2012, 12h09   #3
estofilo
Modérateur
 
Inscription : octobre 2008
Messages : 1 702
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 1 702
Points : 2 347
Points : 2 347
Sur Ubuntu la configuration par défaut de PostgreSQL est telle que les connexions TCP sont en SSL par défaut, y compris sur localhost (mais pas en sockets du domaine Unix).
Donc toutes les données qui transitent entre client et serveur sont encryptées, ce qui prend du temps CPU.

Avec pgpool au milieu, dans le pire des cas elles sont cryptées deux fois, une fois entre le client et pgpool, une deuxième fois entre pgpool et postgres.
Voir http://www.pgpool.net/mediawiki/inde...r_pgpool-II.3F

Si le serveur web et le serveur postgresql sont sur la même machine, il vaut mieux utiliser des connexions en socket du domaine Unix. En admettant qu'on ne puisse pas (par ex. avec un serveur Windows ça n'est pas possible), utiliser localhost en TCP mais sans SSL.
estofilo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 01h26.


 
 
 
 
Partenaires

Hébergement Web