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

Administration MySQL Discussion :

mysql_pconnect : php ne réutilise pas les connexions existantes


Sujet :

Administration MySQL

  1. #1
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 156
    Points : 59
    Points
    59
    Par défaut mysql_pconnect : php ne réutilise pas les connexions existantes
    Bonjour,

    Je me heurte à un souci concernant mon code PHP, celui-ci vient créer des connexions persistantes à ma base MySQL (via mysql_pconnect donc) en indiquant un login/mdp.

    En regardant la liste des processus via PHPMyAdmin, je vois qu'un grand nombre de connexions persistantes sont ouvertes (700 environ), mais non utilisées pendant un nombre important de secondes (parfois plus de 15000 !) :



    Les logins/mot de passe ne sont pas nombreux, et il n'y a jamais 35 personnes en même temps sur le site en question, et le nombre de processus tourne souvent autour de 700.

    Le site est par ailleurs lent et semble interdire l'accès à certaines personnes du fait du nombre trop important de connexions persistantes créées mais non accessibles.

    Afin de remédier à ce problème, faut-il :

    - que je limite la durée d'une connexion persistante ? (si c'est possible bien sûr !)
    - que je limite le nombre maximal de connexions persistantes ? (via la variable mysql.max_persistent du php.ini)
    - que je fasse en sorte que la connexion ne vienne pas se vérouiller dans mon code PHP ?

    Merci de vos éclairages, et bonne journée !

  2. #2
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 156
    Points : 59
    Points
    59
    Par défaut
    J'avance un peu dans mon problème.

    Je sais qu'il existe un moyen de limiter la durée de chaque connexion persistante en indiquant dans le my.cnf (ou le my.ini si on est sous environnement Micrososft)

    [mysqld]
    wait_timeout=10000

    Ce qui, après redémarrage, refixe la durée maximale d'une connexion persistante.

    En faisant jouer ce paramètre et celui du nombre de connexions persistantes maximales, je pense que je peux m'en sortir.

    Par contre je ne comprends pas pourquoi il rouvre une connexion persistante quand d'autres sont en suspens depuis des dizaines de milliers de secondes !

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Même problème
    Bonjour,

    J'ai le même problème sur mes serveurs. Je suis sur un serveur dédié et j'ai remarqué le même phénomène. J'ai l'impression que la commande mysql_pconnect n'utilise pas les connexions persistantes existantes.

    As-tu réglé le problème ? Car certes on peut jouer sur les temps de vie des connexions ou sur le nombre maximal de connexions simultanées mais cela ne répond pas au problème que la commande n'utilise pas les connexions déjà ouvertes.

    Le manuel PHP stipule bien :

    Premièrement, lors de la connexion, la fonction essaie de trouver une connexion permanente déjà ouverte sur cet hôte, avec le même nom d'utilisateur et de mot de passe. Si une telle connexion est trouvée, son identifiant est retourné, sans ouvrir de nouvelle connexion.
    (Source : http://php.net/manual/fr/function.mysql-pconnect.php)

    Merci d'avance,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. PHP n'affiche pas les erreurs.
    Par diabli73 dans le forum Langage
    Réponses: 7
    Dernier message: 10/09/2014, 11h26
  2. php ne reçoit pas les données du formulaire
    Par sissendz dans le forum Langage
    Réponses: 5
    Dernier message: 10/12/2008, 12h01
  3. SQL Server n'autorise pas les connexions à distance !
    Par insane_80 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 03/10/2008, 17h40
  4. Réponses: 0
    Dernier message: 23/05/2008, 15h19
  5. Formulaire dans PHP n'envoie pas les $_POST
    Par GOMMME dans le forum Langage
    Réponses: 6
    Dernier message: 19/05/2008, 18h32

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