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 + C# .Net 4 = Too Many Connexions


Sujet :

Administration MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 228
    Points : 60
    Points
    60
    Par défaut MySQL + C# .Net 4 = Too Many Connexions
    Bonjour,

    Je post ici car je ne sais plus où trouver de l'aide.

    Mon problème :

    J'ai un site .Net dont la base est en MySQL. Ce site plante aléatoirement avec le message d'erreur : Too many connexions.

    J'ai passé le "Max Pool Size" de mon site (web.config) de 150 à 250 et ça c'était calmé.

    Pour faire repartir le site, un simple IISRESET suffit.

    Le problème est que je suis obligé de faire des nuits blanches pour surveiller le site et que je ne sais plus quoi faire pour résoudre ce problème qui ne m'était jamais arrivé.

    Merci d'avance pour votre aide.

    Scots

    Edit:
    Je précise un truc :

    Malgré que j'ai vérifié mes "close" dans mon site, j'ai un grand nombre de connexions en "sleep" quand je regarde avec MySQL Workbench.

    Mon "Connection limit" est à 100 alors que je l'avais passé à 200

  2. #2
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2005
    Messages : 197
    Points : 591
    Points
    591
    Par défaut
    Tu as augmenté le paramètre max_connections? Si oui, l'as tu mis dans ton my.cnf? Si non, lorsque tu redémarre mysql , ce paramètre ne sera pas sauvegardé et donc la valeur par défaut sera de nouveau appliqué (100).

    http://dev.mysql.com/doc/refman/5.5/...ax_connections
    http://dev.mysql.com/doc/refman/5.5/...nnections.html

    Il se peut que tu ai ensuite des erreurs Too many open files dans ce cas, il faudra augmenter la valeur du paramètre open-files-limit
    http://dev.mysql.com/doc/refman/5.5/...en-files-limit

    Tu peux aussi regarder du côté des paramètres interactive_timeout et wait_timeout qui pourra killer tes sessions en sleep
    http://dev.mysql.com/doc/refman/5.1/...r_wait_timeout
    Oracle DBA OCM 11g, 12c
    OCP 11g, 12c
    OCE RAC, SQL

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

    Informations forums :
    Inscription : Août 2006
    Messages : 228
    Points : 60
    Points
    60
    Par défaut
    Bonjour et merci IndianaAngus, j'avais en effet fais la modif via phpMyAdmin ... Je pensais que ça fonctionnait ...

    Je viens de mettre à jour mon fichier my.cnf. J'ai passé le 100 à 1000 pour voir ...

    A voir mais je dois attendre pour rebooter

    Sinon, je viens de découvrir ce post : http://www.primaryobjects.com/CMS/Article69.aspx

    Qu'en pensez-vous ?

    Je viens de voir que mon wait_timeout est à 28800. C'est en secondes ? Si oui c'est énorme non ? interactive_timeout pareil ...

  4. #4
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2005
    Messages : 197
    Points : 591
    Points
    591
    Par défaut
    Je regarderai plutôt du côté du wait_timeout dans un premier temps avant de faire des kill des sessions dans le code et voir ce que ca donne. Baisser la valeur à quelques minutes d'inactivité (a définir en fonction du temps d'inactivité des autres sessions). La valeur est en secondes et donc 28800 représente 8h. Pour un site web ca me semble effectivement très élevé.
    Tu peux changer le paramètre de max_connexion à chaud pour qu'il sois pris en compte tout de suite comme tu l'avais déjà fait auparavant. Mais toujours penser à le mettre dans le my.cnf sinon, au redémarrage il reprendra la valeur par défaut.

    Les paramètres de timeout sont aussi dynamique donc tu peux le changer de suite mais ce paramètre ne sera pris en compte que pour les nouvelles connexions.


    En espérant que cela t'aide.
    Oracle DBA OCM 11g, 12c
    OCP 11g, 12c
    OCE RAC, SQL

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 228
    Points : 60
    Points
    60
    Par défaut
    Merci Indiana, mais peux-tu me dire où trouver la variable wait_timeout ? Elle n'est pas dans le my.cnf

    Si je comprends bien, je peux modifier mon my.cnf qui sera pris en compte au reboot mais quand même essayer en modifiant les valeurs dans phpmyAdmin avant ce reboot ? Le dernier ne modifiant pas le premier ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2005
    Messages : 197
    Points : 591
    Points
    591
    Par défaut
    Si la valeur n'est pas dans le my.cnf et bien il suffit tout simplement de l'ajouter dans la section [mysqld] . Si ce n'est pas présent, c'est la valeur par défaut qui est prise.

    C'est tout à fait ca, lorsque tu change un paramètre de manière dynamique, il n'est pas ajouté dans le my.cnf et au démarrage c'est le paramètre du my.cnf qui est pris en compte. Si le paramètre n'existe pas, c'est la valeur par défaut qui est prise.
    Ca permet entre autre de ne pas avoir à redémarré mysql pour changer un paramètre.

    C'est le cas que tu as eu avec le max_connections que tu as changé de manière dynamique et qui est revenu à sa valeur par défaut lorsque tu as redémarré car il n'était pas dans le my.cnf.

    Voici une liste de tout les paramètre de mysql http://dev.mysql.com/doc/refman/5.1/...variables.html
    Oracle DBA OCM 11g, 12c
    OCP 11g, 12c
    OCE RAC, SQL

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 228
    Points : 60
    Points
    60
    Par défaut
    Well,

    J'ai fais la modif dans le my.cnf (max_connexions, wait_timeout, interactive_timeout). J'ai rebooté à 22h :

    Mon site n'a pas encore planté (touching monkey skin ) et MySQL Workbench m'indique que les "slepp" sont BEAUCOUP moins nombreuses.

    Merci beaucoup Indiana. Je continue ma surveillance au cas où

  8. #8
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2005
    Messages : 197
    Points : 591
    Points
    591
    Par défaut
    tant mieux, espérons que ca tienne
    Oracle DBA OCM 11g, 12c
    OCP 11g, 12c
    OCE RAC, SQL

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 228
    Points : 60
    Points
    60
    Par défaut
    Si ca ne tiens pas je reviendrais ici

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

Discussions similaires

  1. java.net.SocketException: Too many open files
    Par saraInfoSab dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 20/04/2012, 12h10
  2. Too many connexions
    Par sunchai dans le forum Delphi
    Réponses: 1
    Dernier message: 06/06/2006, 09h56
  3. Réponses: 2
    Dernier message: 31/10/2005, 14h29
  4. erreurs "too many connexion"... etc
    Par Jamie88 dans le forum Requêtes
    Réponses: 6
    Dernier message: 01/09/2005, 06h32
  5. Pgsql : erreur de connexion 'too many clients ...'
    Par petitmoosse dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 21/08/2003, 14h03

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