IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Installation PostgreSQL Discussion :

Pb de configuration postgre -> plantage avec DB error


Sujet :

Installation PostgreSQL

  1. #1
    liv
    liv est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 124
    Points : 41
    Points
    41
    Par défaut Pb de configuration postgre -> plantage avec DB error
    Bonjour à tous,

    Je suis responsable d'une plateforme de formation fonctionnant sous postgre (version windows), apache+php.
    Depuis un petit moment je galère assez sur un bug récurrent.
    Quand le nombre de requêtes monte en charge (+ de 60 utilisateurs) php me renvoie souvent l'erreur DB ERROR CONNECT FAILED.
    Pour être plus précis c'est la fonction connect() du fichier pgsql.php qui me renvoie cela.

    J'ai essayé de paramétrer au mieux postgre via le fichier postgresql.conf
    mais rien n'y fait.
    Je tiens à préciser que je n'utilise pas de connexions persistentes (marche pas très bien sous windows).

    Je suis vraiment à cours d'idées...est ce que quelqu'un de balèze pourrait m'éclairer?

    Liv
    -----
    Liv

  2. #2
    Membre averti
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Points : 318
    Points
    318
    Par défaut
    Je ne suis pas balèze mais une idée me vient à l'esprit : je pense que tu as réglé la variable max_connections dans ton fichier de configuration, mais as-tu réglé la variable shared_buffers qui doit être égale à 2 fois le nombre de connection maximum ?

    Par défaut, ces variables sont sans doute mises en commentaire, c'est à dire qu'elles prennent les valaurs par défaut de Postgresql. Peut-être qu'en les forçant dans le postgresql.conf, cela résoudra ton problème.

    Pour connaitre tes valeurs par défaut, sous psql, il suffit de taper "SHOW ALL;".

    Jettes un coup d'oeil sur ce lien et surtout les commentaires, on sait jamais : http://php.worldakt.com/manual/en/fu...g-pconnect.php

  3. #3
    liv
    liv est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 124
    Points : 41
    Points
    41
    Par défaut
    Oui j'ai bien pensé à augmenter ce paramètre important.
    En ce moment max_connexion est réglé sur 400 et shareBuffer 900.
    Je pense que le problème viens d'ailleurs.

    Je commence à me demander si cela ne viens pas d'une sous capacité processeur (1.2Ghz) car je fonctionne sous une carte monoprocess et pour ce genre de plateforme il vaut mieux avoir une bi.

    Pour l'info j'ai des tables assez importantes comme celle des évènements (connexion, déconnexion et beaucoup d'autres) qui en ai à plus de 150000 entrées en rien de 2 mois.
    Je commence à paniquer.

    Pour palier au problème j'ai patché le fichier pgsql.php dans le pear en forçant la connexion sur une boucle avec un compteur de 10.
    Si on arrive à 10 alors on affiche DB ERROR CONNECT FAILED.
    Cela reste pour moi du bricolage car je ne soulève pas le véritable fond du problème, sans compter qu'il n'y a rien de mieux comme procédé pour faire ramer un serveur.

    Autre chose m'a mis la puce à l'oreille...j'ai une autre base de données mais cette fois en mysql (servant à faire fonctionner un chat indépendant). Comme par hazard de temps en temps (moins fréquemment toutefois) j'ai des erreurs de connexion à mysql.

    A mon avis c'est un problème lié à apache (httpd.conf) ou php (php.ini).

    En tous cas merci de ta suggestion et reste près à en discuter.
    -----
    Liv

  4. #4
    Membre averti
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Points : 318
    Points
    318
    Par défaut
    Autre idée : pour essayer de déterminer à quel niveau se situe le goulet d'étranglement lors d'une montée en charge, essayes de tester chaque niveau avec l'utilitaire adéquat.

    Pour Postgresql, dans le répertoire pgbench des contrib des sources, il y a un petit fichier source en C àcompiler qui te permet de le faire : tu lui indiques simplement le nombre de client simultanée et le nombre de transactions, et il te retourne les stats.

    Tu n'as plus qu'à essayer ensuite une simulation sur Apache et cela devrait te donner une idée.

    C'est vrai qu'avec le nombre de couche et de surcouche, il est quelque fois (souvent) difficile de savoir où le bas blesse.

  5. #5
    liv
    liv est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 124
    Points : 41
    Points
    41
    Par défaut
    Ce répertoire en question ne serait-il pas présent que sous une version UNIX? Car je suis sous windows (pas la meilleur solution je t'accorde) et je ne le trouve pas.
    -----
    Liv

  6. #6
    Membre averti
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Points : 318
    Points
    318
    Par défaut
    Le répertoire est présent dans le fichier tgz des sources de postgresql. C'est l e même pour Windows ou Linux.

    Par contre, il ne doit pas être effectivement présent sur une version précompilée pour Windows.

    Pourquoi ne ferais-tu pas un essai sous Linux pour voir si tes problèmes persistent ?

  7. #7
    liv
    liv est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 124
    Points : 41
    Points
    41
    Par défaut
    C'est une idée mais je ne peux pas l'appliquer immédiatement car j'ai trop peu de temps.

    Je sais que postgre marche très bien sous windows alors je pense qu'il y a forcément une solution de config.
    -----
    Liv

Discussions similaires

  1. Plantage avec le déploiement d'un app web avec Postgres et Jboss5
    Par fellasof dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 13/04/2013, 13h31
  2. Réponses: 9
    Dernier message: 17/03/2005, 18h02
  3. Configurer un réseau local avec 3 pc Win xp
    Par stkam dans le forum Développement
    Réponses: 3
    Dernier message: 26/02/2004, 20h13
  4. Plantage avec la fonction InvalidateRect
    Par SebCBien dans le forum OpenGL
    Réponses: 3
    Dernier message: 20/01/2004, 21h32
  5. Réponses: 6
    Dernier message: 05/11/2003, 19h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo