Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Invité de passage
    Homme Profil pro Rémi Nuyts
    Développeur informatique
    Inscrit en
    août 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Nom : Homme Rémi Nuyts
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : août 2012
    Messages : 4
    Points : 0
    Points
    0

    Par défaut Coupure de connexion entre Rails 3.2.7 et Postgres 8.4

    Bonjour à tous,

    Je développe une grosse application en Rails 3.2.7 qui est connecté à une BD Postgres 8.4 installée sur la même machine. L'application s'exécute sur Apache avec le module Passenger.

    L'application est constamment utilisée par une centaine d'utilisateurs et ne pose aucun problème pendant plusieurs heures puis, d'un coup, Rails ne parvient plus à faire de requêtes vers la BD sans trop que je comprenne pourquoi. Les sessions étant stockées en BD, tous les utilisateurs sont alors déconnectés. La page de login faisant appelle à des enregistrements dans la BD, elle n'est donc plus atteignable.

    Voici le contenu de database.yml :

    production:
    adapter: postgresql
    database: ******_prod
    pool: 5
    username: ******
    password: ******
    encoding: utf8

    development:
    adapter: postgresql
    database: ******_dev
    pool: 5
    username: ******
    password: ******
    encoding: utf8

    Voici ce qui se passe comme erreur dans un contrôleur qui tente d'accéder à la BD :

    - Le code : time = (Parameter.find(:first, :conditions => ["name=?", "login_error_wait"])).value
    - L'erreur : undefined method 'value' for nil:NilClass

    Le paramètre recherché étant bien présent en BD. Ce code fonctionne parfaitement en temps normal jusqu'à ce que Postgres renvoi subitement la valeur nil.

    Quelqu'un aurait-il déjà eu ce genre de problème ou aurait-il une idée d'où cela pourrait venir?

    Je suis fortement ennuyé car il s'agit d'une application utilisée environ 2 heures par jours par chaque personne dans l'entreprise où je travaille.

    Merci d'avance pour vos réponses

  2. #2
    Membre confirmé
    Homme Profil pro Vincent Charlet
    Ingénieur développement logiciels
    Inscrit en
    novembre 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent Charlet
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : novembre 2011
    Messages : 152
    Points : 247
    Points
    247

    Par défaut

    Bonjour, juste une interrogation, le moteur postgres est lui toujours opérationnel pendant le problème en se connectant avec un pgadmin par exemple ?
    idem avec la console rails ?

    le problème se corrige comment ? rédamarrage du moteur postgres ? du serveur web ?

  3. #3
    Invité de passage
    Homme Profil pro Rémi Nuyts
    Développeur informatique
    Inscrit en
    août 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Nom : Homme Rémi Nuyts
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : août 2012
    Messages : 4
    Points : 0
    Points
    0

    Par défaut

    Citation Envoyé par v.charlet Voir le message
    Bonjour, juste une interrogation, le moteur postgres est lui toujours opérationnel pendant le problème en se connectant avec un pgadmin par exemple ?
    idem avec la console rails ?

    le problème se corrige comment ? rédamarrage du moteur postgres ? du serveur web ?

    Bonjour, je viens de faire le test, Pg Admin perd également sa connexion. Le problème se corrige tout seul au bout d'un moment (je suppose que Rails effectue une reconnexion automatique au bout d'un temps) et si je veux qu'il se résolve plus vite, je redémarre le serveur Apache.

    C'est donc bien du côté de Postgres qu'il y a un soucis, mais lequel ? :/

  4. #4
    Membre confirmé
    Homme Profil pro Vincent Charlet
    Ingénieur développement logiciels
    Inscrit en
    novembre 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent Charlet
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : novembre 2011
    Messages : 152
    Points : 247
    Points
    247

    Par défaut

    je chercherais du coté du pool de connexion à postgres

    peut être que des connexions sont ouvertes et mal refermée, au bout d'un moment le serveur BDD refuse d'en ouvrir plus
    vérifier le nombre max de connexion dans le fichier de config
    http://www.developpez.net/forums/d13...es-postgresql/

  5. #5
    Invité de passage
    Homme Profil pro Rémi Nuyts
    Développeur informatique
    Inscrit en
    août 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Nom : Homme Rémi Nuyts
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : août 2012
    Messages : 4
    Points : 0
    Points
    0

    Par défaut

    Citation Envoyé par v.charlet Voir le message
    je chercherais du coté du pool de connexion à postgres

    peut être que des connexions sont ouvertes et mal refermée, au bout d'un moment le serveur BDD refuse d'en ouvrir plus
    vérifier le nombre max de connexion dans le fichier de config
    http://www.developpez.net/forums/d13...es-postgresql/
    J'y avais pensé aussi. Le nombre max de connexions est à 300 et le nombre de connexions simultanées ne monte jamais au dessus de 30.

    Je pense faire une migration vers Postgres 9.2. Outre l'application Rails, j'ai des applications Java qui se connectent aussi à cette BD, j'utiliserai donc le Driver JDBC 9.2 du côté du Java.

    J'essaye ça dès demain et je vous tiens au courant de la situation

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •