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

MySQL Discussion :

Lister le nombre de connexions


Sujet :

MySQL

  1. #1
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 188
    Par défaut Lister le nombre de connexions
    Bonjour,

    n'ayant pas trouvé mon bonheur sur le forum "PHP & MySQL" (post ici), je me dis que j'aurai peut-être plus de réponses ici..

    En résumé, j'ai un script PHP dans lequel il me semble qu'il y a plusieurs connexions à la base de données. Je me suis servi de "SHOW STATUS" pour trouver le nombre de connexions simultanées, mais je ne comprend pas trop le sens des résultats.

    Pour faire plus simple, j'ai créé un fichier de test, dans lequel j'ouvre 4 connexions à la même base de données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    $GLOBALS['SQL_ADDRESS']='mon_host';
    $GLOBALS['SQL_LOGIN']='mon_login';
    $GLOBALS['SQL_PASSWORD']='mon_password';
    $GLOBALS['SQL_DB']='ma_base';
     
    $connect = mysql_connect($GLOBALS["SQL_ADDRESS"],$GLOBALS["SQL_LOGIN"],$GLOBALS["SQL_PASSWORD"]);
    $db = mysql_select_db($GLOBALS['SQL_DB']);
    echo "<u>1ère connexion</u><br>"; 
    $res_process = mysql_query('SHOW STATUS LIKE \'Connections\'');
    while ($row_status = mysql_fetch_array($res_process)) {
    	print_r($row_status);echo "<br>";
    }
    mysql_free_result($res_process);
    $res_process = mysql_query('SHOW STATUS LIKE \'THREAD%\'');
    while ($row_status = mysql_fetch_array($res_process)) {
    	print_r($row_status);echo "<br>";
    }
    mysql_free_result($res_process);
     
    $connect2 = mysql_connect($GLOBALS["SQL_ADDRESS"],$GLOBALS["SQL_LOGIN"],$GLOBALS["SQL_PASSWORD"]);
    $db2 = mysql_select_db($GLOBALS['SQL_DB']);
    echo "<u>2ème connexion</u><br>"; 
    $res_process = mysql_query('SHOW STATUS LIKE \'Connections\'');
    while ($row_status = mysql_fetch_array($res_process)) {
    	print_r($row_status);echo "<br>";
    }
    mysql_free_result($res_process);
    $res_process = mysql_query('SHOW STATUS LIKE \'THREAD%\'');
    while ($row_status = mysql_fetch_array($res_process)) {
    	print_r($row_status);echo "<br>";
    }
    mysql_free_result($res_process);
     
    $connect3 = mysql_connect($GLOBALS["SQL_ADDRESS"],$GLOBALS["SQL_LOGIN"],$GLOBALS["SQL_PASSWORD"]);
    $db3 = mysql_select_db($GLOBALS['SQL_DB']);
    echo "\t<u>3ème connexion</u><br>"; 
    $res_process = mysql_query('SHOW STATUS LIKE \'Connections\'');
    while ($row_status = mysql_fetch_array($res_process)) {
    	print_r($row_status);echo "<br>";
    }
    mysql_free_result($res_process);
    $res_process = mysql_query('SHOW STATUS LIKE \'THREAD%\'');
    while ($row_status = mysql_fetch_array($res_process)) {
    	print_r($row_status);echo "<br>";
    }
    mysql_free_result($res_process);
     
    $connect4 = mysql_connect($GLOBALS["SQL_ADDRESS"],$GLOBALS["SQL_LOGIN"],$GLOBALS["SQL_PASSWORD"]);
    $db4 = mysql_select_db($GLOBALS['SQL_DB']);
    echo "<u>4ème connexion</u><br>"; 
    $res_process = mysql_query('SHOW STATUS LIKE \'Connections\'');
    while ($row_status = mysql_fetch_array($res_process)) {
    	print_r($row_status);echo "<br>";
    }
    mysql_free_result($res_process);
    $res_process = mysql_query('SHOW STATUS LIKE \'THREAD%\'');
    while ($row_status = mysql_fetch_array($res_process)) {
    	print_r($row_status);echo "<br>";
    }
    mysql_free_result($res_process);
    ce qui me donne comme résultats :
    1ère connexion
    Array ( [0] => Connections [Variable_name] => Connections [1] => 70765 [Value] => 70765 )
    Array ( [0] => Threads_cached [Variable_name] => Threads_cached [1] => 6 [Value] => 6 )
    Array ( [0] => Threads_connected [Variable_name] => Threads_connected [1] => 2 [Value] => 2 )
    Array ( [0] => Threads_created [Variable_name] => Threads_created [1] => 39 [Value] => 39 )
    Array ( [0] => Threads_running [Variable_name] => Threads_running [1] => 2 [Value] => 2 )

    2ème connexion
    Array ( [0] => Connections [Variable_name] => Connections [1] => 70765 [Value] => 70765 )
    Array ( [0] => Threads_cached [Variable_name] => Threads_cached [1] => 6 [Value] => 6 )
    Array ( [0] => Threads_connected [Variable_name] => Threads_connected [1] => 2 [Value] => 2 )
    Array ( [0] => Threads_created [Variable_name] => Threads_created [1] => 39 [Value] => 39 )
    Array ( [0] => Threads_running [Variable_name] => Threads_running [1] => 2 [Value] => 2 )

    3ème connexion
    Array ( [0] => Connections [Variable_name] => Connections [1] => 70765 [Value] => 70765 )
    Array ( [0] => Threads_cached [Variable_name] => Threads_cached [1] => 6 [Value] => 6 )
    Array ( [0] => Threads_connected [Variable_name] => Threads_connected [1] => 2 [Value] => 2 )
    Array ( [0] => Threads_created [Variable_name] => Threads_created [1] => 39 [Value] => 39 )
    Array ( [0] => Threads_running [Variable_name] => Threads_running [1] => 2 [Value] => 2 )

    4ème connexion
    Array ( [0] => Connections [Variable_name] => Connections [1] => 70765 [Value] => 70765 )
    Array ( [0] => Threads_cached [Variable_name] => Threads_cached [1] => 6 [Value] => 6 )
    Array ( [0] => Threads_connected [Variable_name] => Threads_connected [1] => 2 [Value] => 2 )
    Array ( [0] => Threads_created [Variable_name] => Threads_created [1] => 39 [Value] => 39 )
    Array ( [0] => Threads_running [Variable_name] => Threads_running [1] => 2 [Value] => 2 )

    sauf que je ne sais absolument pas interpréter ces résultats..qui peut m'éclairer ?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 331
    Par défaut
    Ok, plusieurs points :
    1. c'est la variable "THREADS_CONNECTED" qui donne le nombre de connexions simultanées.

    2. Dans ton script, il n'y a qu'une seule connexion, donc c'est normal que tu aies toujours les mêmes résultats : les compteurs ne sont pas incrémentés. Pour t'en rendre compte, tu pourras exécuter cette requête dans les quatre blocs de ton script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CONNECTION_ID();
    Le script va te renvoyer toujours le même ID

    3. Enfin, pour la signification des différentes variables de status, tu pourras consulter cette doc :
    http://dev.mysql.com/doc/refman/5.0/...variables.html

    Rachid A.

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

Discussions similaires

  1. [MySQL] Lister le nombre de connexions
    Par ninikkhuet dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/04/2010, 11h59
  2. Mysql Configuration nombre de connexion aux bases de données
    Par Thierry8 dans le forum Installation
    Réponses: 2
    Dernier message: 15/09/2005, 20h54
  3. Limiter de nombre de connexions simultanées
    Par Drahu dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/09/2005, 11h43
  4. limiter le nombre de connexion VB-Oracle
    Par lonestar dans le forum Oracle
    Réponses: 12
    Dernier message: 05/08/2005, 12h29
  5. Paramétrer le nombre de connexion sur mon serveur Mysql
    Par Zerga dans le forum Installation
    Réponses: 2
    Dernier message: 12/12/2003, 19h21

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