Vous n'êtes pas identifié(e).

#1 18/09/2009 13:11:28

dodo
Membre

1 serveur Apache + 1 serveur PostgreSQL = lenteur

Afin d'optimiser l'usage de serveurs, nous avons installé un serveur dédié à Apache / php, et un autre à PostgreSQL, mais avec la possibilité de rapatrier tout sur  un seul serveur.

Lorsque le site pointe sur les données PostgreSQL de l'autre serveur, il est très lent : plus d'une minute pour l'affichage d'une page (plusieurs requêtes)

Si le site pointe sur les données PostgreSQL sur lui-même, l'affichage des pages est immédiat. La seule modification est l'adresse de la base de données.

Voici le hba_conf présent sur les 2 serveurs :
local   all         all                trust
host all all IP_Postgre 255.255.255.255 md5
host all all IP_Apache 255.255.255.255 trust
host all all IP_Admin 255.255.255.255 trust
host client1 all IP_DuClient1 255.255.255.255 trust
host client2 all IP_DuClient2 255.255.255.255 trust
host all all ::1/128 reject

Par ailleurs, on ne rencontre aucun problème avec les bases MySQL !
Ces 2 serveurs sont 2 machines virtuelles linux (Xen) sur une même machine physique, hébergée chez OVH pour ne pas le nommer.

Hors ligne

#2 18/09/2009 13:28:35

Marc Cousin
Membre

Re : 1 serveur Apache + 1 serveur PostgreSQL = lenteur

Bonjour. Y a t'il une session ouverte à la base par requête ?


Marc.

Hors ligne

#3 18/09/2009 14:11:23

dodo
Membre

Re : 1 serveur Apache + 1 serveur PostgreSQL = lenteur

Marc Cousin a écrit :

Bonjour. Y a t'il une session ouverte à la base par requête ?

L'ouverture à la base s'effectue par l'ordre php : $bdd = new PDO("pgsql:host="._BASE_HOST." port="._BASE_PORT." dbname="._NOM_DATABASE ." user="._B

C'est uniquement en modifiant la valeur de _BASE_HOST que l'on change de serveur.

Ces serveurs hébergent plusieurs sites.

Hors ligne

#4 18/09/2009 14:56:04

Marc Cousin
Membre

Re : 1 serveur Apache + 1 serveur PostgreSQL = lenteur

Je ne suis pas développeur PHP. De ce que je comprends, si vous continuez à utiliser $bdd dans la même page, vous ne vous reconnectez pas à la base. Malgré tout, peut être est-ce l'établissement de la session qui prend du temps. Vous devriez mesurer la durée de l'établissement de cette session. Si cela ne vient pas de là, essayez de déterminer où passe ce temps (exécution, transfert réseau…)


Marc.

Hors ligne

#5 25/09/2009 11:32:58

dodo
Membre

Re : 1 serveur Apache + 1 serveur PostgreSQL = lenteur

Marc Cousin a écrit :

Je ne suis pas développeur PHP. De ce que je comprends, si vous continuez à utiliser $bdd dans la même page, vous ne vous reconnectez pas à la base. Malgré tout, peut être est-ce l'établissement de la session qui prend du temps. Vous devriez mesurer la durée de l'établissement de cette session. Si cela ne vient pas de là, essayez de déterminer où passe ce temps (exécution, transfert réseau…)

Je ne sais pas comment trouver (dans quels logs, avec quel outil) où se passe le temps !

Hors ligne

#6 25/09/2009 11:44:17

gleu
Administrateur

Re : 1 serveur Apache + 1 serveur PostgreSQL = lenteur

Il suffit d'utiliser les paramètres log_connections et/ou log_disconnections dans le fichier de configuration de PostgreSQL (postgresql.conf).


Guillaume.

Hors ligne

Pied de page des forums