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

Accès aux données Discussion :

Peut-on avoir une même connexion sur une base mySql pour plusieurs utilisateurs ?


Sujet :

Accès aux données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2014
    Messages : 76
    Par défaut Peut-on avoir une même connexion sur une base mySql pour plusieurs utilisateurs ?
    Bonjour à tous !

    Je crois que le titre est assez explicite. Je suis en train d'analyser un problème : plusieurs utilisateurs accèdent à une base de données (par de multiple requêtes) et manifestement au bout d'un certains nombre d'utilisateurs, tout plante (je n'ai pas plus de détails pour l'instant sur la nature du plantage, je sais juste que les utilisateurs sont des PDA et qu'au delà de 6 PDA connecté requêtant sur la base en même temps ça plante).

    Certain me disent qu'il s'agit d'un problème de gestion de connexion car chaque utilisateur utilisant une connexion, au bout d'un moment cela en fait beaucoup et qu'il peut y avoir une connexion pour plusieurs utilisateurs... je suis perplexe.

    Je voudrais donc savoir si cela est possible et si c'est le cas est-ce possible de mettre en place une connexion commune pour les utilisateurs ?

    Merci par avance de votre aide

  2. #2
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    t'aurais pas un souci de conception/code dans ton prog ?
    MySQL n'a aucune raison de crasher avec 6 connexions concurrentes.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2014
    Messages : 76
    Par défaut
    Merci de ta réponse jojopmk

    En fait il y a plusieurs PDA de connecté et effectivement de la manière dont les requêtes sont faite, chaque PDA ouvrent et ferme une multitude de connexion en base simultanément.
    Tu as raison c'est surement un problème de conception. J'ai repris le code et j'ai fait en sorte de d'ouvrir une seule connexion (avec une classe en Singleton) et de la mettre en Session, de sorte qu'il ne puisse y avoir qu'une connexion pour tous, que chaque utilisateurs (PDA) récupère dans leur session un pointeur vers une unique connexion. Je n'ai pas encore pu tester mais je vous tiens au courant de l'avancer. J'espère que le problème viens bien de là...

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2014
    Messages : 76
    Par défaut
    Bon, le problèmes ne viens pas du code a priori mais plutôt de la gestion des requêtes à partir de MySql, c'est une vieille version (4.1),
    Actuellement dans MySql, quand une écriture est en cours, elle bloque toute requêtes, du coup les écritures s'enchaînant, si on attaque la base en parallèle avec des requêtes, ça plante.

    Solution trouvée :

    Je suis allé sur le fichier
    my.ini
    dans le répertoire de MySql et j'ai rajouté comme variable :

    max_write_lock_count = 1
    (définition : pose de verrou en écriture, autorise quelques verrous en lecture), il donc va autoriser une écriture entre 2 requêtes, ce qui va supprimer le blocage.
    D'après mes tests, cela ne plante plus !

  5. #5
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Bonne nouvelle pour toi et merci d'avoir partagé la solution pour d'autres dev qui rencontreraient le même souci

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2014
    Messages : 76
    Par défaut
    ... bon je reviens sur le sujet pour vous mettre au courant : finalement le blocage est toujours présent

    En fait j'ai cru que la variable avait un effet car quand le test de requête est lancé et qu'on utilise simultanément l'application, dès que ça plante au chargement d'une requête trop "lourde", quand on relance l'appli, pour la même action ça ne plante plus (il doit y avoir une sorte de mémoire cache !).
    Pour reproduire le problème il faut redémarrer le pc (ou ici la VM) et on reproduit l'erreur.

    Donc désolé la fausse joie.

    Actuellement je ne sais toujours pas d'où le problème peut venir. Je continu de faire des tests mais je suis vraiment à cours d'idée

Discussions similaires

  1. Je cherche a avoir 2 tri différents sur une même colonne
    Par snooky147 dans le forum Requêtes
    Réponses: 0
    Dernier message: 06/12/2013, 23h21
  2. Réponses: 2
    Dernier message: 05/04/2008, 17h33
  3. Réponses: 3
    Dernier message: 25/10/2007, 11h47
  4. [Pygame]Supprimer/masquer les pixels d'une même couleur sur une image
    Par Mysti¢ dans le forum Programmation multimédia/Jeux
    Réponses: 2
    Dernier message: 10/05/2007, 13h40
  5. [MySQL] Plusieurs même requetes sur une même table
    Par bibom dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 27/07/2006, 12h54

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