Compter les connexions à mysql

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

kinglouis
WRInaute discret
WRInaute discret
 
Messages: 94
Inscription: 19 Mai 2004

Compter les connexions à mysql

Message le Sam Oct 15, 2005 8:06

Bonjour , j'ai deux questions :

1 ) Quel est le code php pour afficher en bas de page " x requetes mysql " ?

2 ) Quel est le code pour afficher le nombre de connexions simultanées à une base de données ?

Merci

dmathieu
Modérateur
Modérateur
 
Messages: 7273
Inscription: 9 Jan 2004

Message le Sam Oct 15, 2005 10:42

1 - il n'y a pas de fonction qui permette de faire cela.
il faut que tu prenne une variable, et que tu l'incrémente de 1 à chaque mysql_query, et tu aura ton nombre de requetes mysql.

2 - pour le nombre de connections simultanées, l'information doit etre disponible sur le serveur mysql, je ne connait pas la requete à envoyer (quelqu'un qui passera saura peut etre)


xOOm
WRInaute discret
WRInaute discret
 
Messages: 107
Inscription: 13 Déc 2004

Message le Sam Oct 15, 2005 11:09

Ca serait en effet intéressant d'avoir un script qui affiche en temps réel des informations relatives au trafic SQL (ça doit exister) si quelqu'un connait...

En attendant, si tu as accès au root du serveur qui héberge ton site (dédié par exemple), tu peux avoir le détail des stats sql de l'ensemble du serveur avec la commande "show status;" qui liste entre autre le nombre de connexions, le nombre de requêtes, les ressources utilisées, etc, depuis le dernier lancement de mysql. Cette commande doit s'utiliser après s'être connecté en SSH à la base de donnée, par la commande "mysql -u tonlogin -p"

trankiloo
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 28
Inscription: 6 Déc 2004

Message le Sam Oct 15, 2005 11:10

bonjour, pour la deuxième question la commande qui donne le nombre de connection sur une base mysql est
Code: Tout sélectionner
show processlist \G

Le \G est juste pour un meilleur affichage si tu tapes en ligne de commande sur ton serveur, si tu tapes la commande sur phpmyadmin tu n'as pas besoin du \G
Dernière édition par trankiloo le Sam Oct 15, 2005 11:15, édité 1 fois.

Orion33
WRInaute discret
WRInaute discret
 
Messages: 237
Inscription: 20 Aoû 2004

Message le Sam Oct 15, 2005 11:10

mysql_stat
Renvoit :
Code: Tout sélectionner
Array
(
[0] => Uptime: 5380
[1] => Threads: 2
[2] => Questions: 1321299
[3] => Slow queries: 0
[4] => Opens: 26
[5] => Flush tables: 1
[6] => Open tables: 17
[7] => Queries per second avg: 245.595
)


xOOm
WRInaute discret
WRInaute discret
 
Messages: 107
Inscription: 13 Déc 2004

Message le Sam Oct 15, 2005 11:38

intéressant !

Au passage est-il possible de lister en temps réel, non pas le nombre, mais le détail des requetes elles-même ? Et si possible pour chacune la quantité de mémoire utilisée, pour repérer facilement celles qui sont les plus gourmandes, ou celles qui font planter mysql...

En fait je cherche depuis longtemps en vain un script qui permette de "monitorer" mysql en temps réel, controler les requêtes, la mémoire... Un script qui réunirait précisément toutes les commandes dans ce genre, et les afficherait en php... Si ça existe je suis preneur, ça serait très utile pour diagnostiquer facilement la source de certains plantages

kinglouis
WRInaute discret
WRInaute discret
 
Messages: 94
Inscription: 19 Mai 2004

Message le Sam Oct 15, 2005 12:42

Merci pour la fonction mysql stats

Vous en pensez quoi de ça :

Array (
[0] => Uptime: 16068
[1] => Threads: 1
[2] => Questions: 1061650
[3] => Slow queries: 510
[4] => Opens: 9713
[5] => Flush tables: 1
[6] => Open tables: 64
Queries per second avg: 66.072 )

C'est bon pour un site ça ?


xOOm
WRInaute discret
WRInaute discret
 
Messages: 107
Inscription: 13 Déc 2004

Message le Sam Oct 15, 2005 12:46

En attendant j'utilise ce petit code PHP, qui est très pratique car il présente l'avantage de donner en temps réel les stats de mysql, dans un tableau complet, qui s'affiche en colonnes sur une seule page.

Code: Tout sélectionner
<html><head><title>Moniteur MYSQL</title>
<style>table{font-family:verdana;font-size:8pt}</style>
</head><body>
<center><table border=0 cellspacing=0 cellpadding=0><tr><td valign=top>
<table width=90% border=1 cellspacing=0 cellpadding=0>
<?
$link  = mysql_connect('localhost', 'login', 'motdepasse');
$result = mysql_query('SHOW STATUS', $link);
$nb = 0;
while ($row = mysql_fetch_assoc($result)) {
  $nb = $nb+1;
  if (($nb == "29") || ($nb == "57") || ($nb == "85")) {
  print "</table></td><td valign=top><table width=90% border=1 cellspacing=0 cellpadding=0>";
  echo '<tr><td>&nbsp;' . $row['Variable_name'] . '</td><td><b>&nbsp;' . $row['Value'] . "</td></tr>";
  } else {
   echo '<tr><td>&nbsp;' . $row['Variable_name'] . '</td><td><b>&nbsp;' . $row['Value'] . "</td></tr>";
  }
}
mysql_close();
?>
</table></td></tr></table></body></html>


Utile pour voir le nombre de requêtes totales, le nombre de connexions, le trafic entrant et sortant, et la variable Max_used_connections qui donne en temps réel le nombre maximum de connexions simultanées utilisées depuis le démarrage du serveur sql.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :