260 votes

MySQL affiche le statut - connexions actives ou totales ?

Quand je cours show status like 'Con%' il montre le nombre de connexions, qui est de 9972 et qui augmente constamment. S'agit-il du nombre de connexions actives ou du nombre total de connexions effectuées ?

504voto

kiiwii Points 1049

Selon les docs il s'agit du nombre total à travers l'histoire :

Connections

Le nombre de tentatives de connexion (réussies ou non) au serveur MySQL.

Vous pouvez voir le nombre de actif soit par l'intermédiaire du Threads_connected variable d'état :

Threads_connected

Le nombre de connexions actuellement ouvertes.

mysql> show status where `variable_name` = 'Threads_connected';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_connected | 4     |
+-------------------+-------+
1 row in set (0.00 sec)

... ou par le biais de la show processlist commandement :

mysql> show processlist;
+----+------+-----------------+--------+---------+------+-------+------------------+
| Id | User | Host            | db     | Command | Time | State | Info             |
+----+------+-----------------+--------+---------+------+-------+------------------+
|  3 | root | localhost       | webapp | Query   |    0 | NULL  | show processlist | 
|  5 | root | localhost:61704 | webapp | Sleep   |  208 |       | NULL             | 
|  6 | root | localhost:61705 | webapp | Sleep   |  208 |       | NULL             | 
|  7 | root | localhost:61706 | webapp | Sleep   |  208 |       | NULL             | 
+----+------+-----------------+--------+---------+------+-------+------------------+
4 rows in set (0.00 sec)

0 votes

Une connexion représente-t-elle un utilisateur ? Ainsi, s'il y a 200 utilisateurs sur une page qui interroge une base de données, il y aura 200 connexions ?

0 votes

Oui, quelqu'un peut le clarifier. J'ai aussi la même question. De plus, ces variables sont-elles réinitialisées après chaque redémarrage des services MySQL ou après le redémarrage du serveur ?

0 votes

@Diego Queiroz Ce n'est pas si simple. Si le développeur a fait attention et s'il n'y a qu'une seule base de données à laquelle il faut se connecter par utilisateur, alors oui, chacun d'eux sera un utilisateur. Mais il est possible qu'il y ait d'autres utilitaires en cours d'exécution ou des services de sauvegarde qui devront également se connecter.

151voto

sunrize920 Points 2328
SHOW STATUS WHERE `variable_name` = 'Threads_connected';

Cela vous montrera toutes les connexions ouvertes.

0 votes

Mysql -e "SHOW STATUS WHERE variable_name = 'Threads_connected' ;" -bash : variable_name : command not found ERROR 1064 (42000) at line 1 : Vous avez une erreur dans votre syntaxe SQL ; vérifiez le manuel correspondant à la version de votre serveur MariaDB pour connaître la syntaxe à utiliser près de '= 'Threads_connected'' à la ligne 1.

24voto

Pranab Sharma Points 21

C'est le nombre total de connexions au serveur jusqu'à présent. Pour connaître l'état actuel des connexions, vous pouvez utiliser

mysqladmin -u -p extended-status | grep -wi 'threads_connected\|threads_running' | awk '{ print $2,$4}''

Cela vous montrera :

Threads_connected 12

Threads_running 1  

Threads_connected: Number of connections

Threads_running: connections currently running some sql

2voto

Harsh Gupta Points 19

Selon le document http://dev.mysql.com/doc/refman/5.0/en/server-status-variables.html#statvar_Connections

Connexions

Le nombre de tentatives de connexion (réussies ou non) au serveur MySQL.

-2voto

ChrisH Points 1110

Il doit s'agir du nombre actuel de connexions actives. Exécutez la commande processlist pour être sûr.

URL pour référence : http://www.devdaily.com/blog/post/mysql/how-show-open-database-connections-mysql

EDITAR: Nombre de connexions DB ouvertes Veuillez jeter un coup d'œil ici, le nombre réel de fils (connexions) est décrit ici !

2 votes

J'ai trouvé les liens de référence utiles. Par exemple, show status like '%onn%'; est une requête très utile.

2 votes

Cette réponse est fausse et doit être supprimée. Voir les autres réponses.

0 votes

Desde dev.mysql.com/doc/refman/8.0/fr/ : "Le nombre de tentatives de connexion (réussies ou non) au serveur MySQL". Il ne s'agit PAS du nombre de connexions actives.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X