Maison  >  Article  >  base de données  >  A quoi correspond le nombre de connexions mysql ?

A quoi correspond le nombre de connexions mysql ?

WBOY
WBOYavant
2023-05-26 13:41:131652parcourir

Le nombre de connexions mysql fait référence au nombre maximum de connexions clients que la base de données peut accepter en même temps. Le nombre de connexions MySQL est un composant qui doit être pris en compte. Il peut aider la base de données à fonctionner en toute sécurité tout en maximisant les performances actuelles de la base de données. Le nombre de connexions MySQL est une configuration importante qui peut affecter la transmission et le traitement du client dans la base de données. Volume de données. Lorsque le nombre de connexions est trop faible, les demandes de connexion peuvent être bloquées et expirer ; lorsqu'il y a trop de connexions, une grande quantité de mémoire sera consommée, ce qui entraînera une réduction des performances.

introduction au numéro de connexion mysql

Le nombre de connexions à la base de données est le nombre maximum de connexions client que la base de données peut accepter à en même temps.

MySQL Le nombre de connexions est un élément à prendre en compte. Il peut aider la base de données à fonctionner en toute sécurité tout en maximisant les performances actuelles de la base de données. "Connexion maximale" est un autre terme pour contrôler quels clients peuvent se connecter à la base de données.

L'importance de configurer le nombre de connexions MySQL est que cela affectera directement l'efficacité du traitement de la base de données et de la transmission des données client. Si le nombre de connexions MySQL est trop petit, la demande de connexion peut être bloquée et un délai d'attente peut se produire ; si le nombre de connexions MySQL est trop grand, une grande quantité de mémoire sera occupée, entraînant de faibles performances. Par conséquent, le nombre de connexions MySQL doit être défini de manière appropriée.

Le nombre de connexions MySQL peut être ajusté via le fichier de configuration MySQL my.cnf, ou vous pouvez l'ajuster dynamiquement à l'aide des commandes MySQL suivantes :

SET GLOBAL max_connections=300;

La commande ci-dessus peut définir le nombre maximum de connexions MySQL Fixé à 300, vous pouvez également définir ce paramètre dans le fichier my.cnf correspondant :

max_connections=300

Le nombre de connexions MySQL peut être vérifié avec la commande MySQL suivante : #🎜 🎜#

SHOW STATUS LIKE 'Max_used_connections';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| Max_used_connections    | 123   |
+-------------------------+-------+

Cette phrase Les mots peuvent être réécrits comme suit : Dans le système VW, jusqu'à 123 connexions sont autorisées à accéder à MySQL en même temps. Cela permet également d'évaluer si le nombre maximum actuel de connexions dans le système est raisonnable :

  • Si la valeur est élevée, cela indique que le système peut avoir un grand nombre de clients accédant à MySQL en même temps. Il est préférable d'envisager d'ajuster le nombre maximum de connexions MySQL.

  • Vous devez faire attention au nombre de connexions MySQL car il a un impact important sur la sécurité et les performances du système. Par conséquent, il doit être ajusté de manière appropriée pour maximiser les performances de MySQL.

  • Comment vérifier le nombre de connexions dans Mysql (nombre total de connexions, nombre actif, nombre maximum simultané)

show variables like '%max_connection%'; 查看最大连接数
set global max_connections=1000;        重新设置最大连接数

<pre class="brush:bash;gutter:true;">mysql&gt; show status like &amp;#39;Threads%&amp;#39;; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | Threads_cached | 32 | | Threads_connected | 10 | | Threads_created | 50 | | Threads_rejected | 0 | | Threads_running | 1 | +-------------------+-------+ 5 rows in set (0.00 sec)</pre><p># 🎜🎜#<strong>Threads_connected : Cette valeur fait référence au nombre de connexions ouvertes </strong></p><pre class="brush:bash;gutter:true;">&lt;code&gt;mysql&gt; show variables like &amp;#39;%max_connection%&amp;#39;;&lt;br/&gt;+-----------------------+-------+&lt;br/&gt;| Variable_name | Value |&lt;br/&gt;+-----------------------+-------+&lt;br/&gt;| extra_max_connections | |&lt;br/&gt;| max_connections | 2512 |&lt;br/&gt;+-----------------------+-------+&lt;br/&gt;2 rows in set (0.00 sec)&lt;br/&gt;&lt;/code&gt;</pre><ul class=" list-paddingleft-2"> <li><p>Threads_connected :这个数值指的是打开的连接数.</p></li> <li><p>Threads_running :这个数值指的是激活的连接数,这个数值一般远低于connected数值.</p></li> <li><p>如果Threads_connected和show processlist的结果相同,则表明当前有多少个连接。准确的来说,Threads_running是代表当前并发数</p></li> </ul> <p>查询数据库当前设置的最大连接数</p><pre class="brush:js;toolbar:false">[mysqld] max_connections = 100 </pre><p>在/etc/my.cnf里面设置数据库的最大连接数</p><pre class="brush:bash;gutter:true;">&lt;code&gt;mysql&gt; show global status like &amp;#39;Thread%&amp;#39;;&lt;br/&gt;+-------------------------+-------+&lt;br/&gt;| Variable_name | Value |&lt;br/&gt;+-------------------------+-------+&lt;br/&gt;| Threadpool_idle_threads | 0 |&lt;br/&gt;| Threadpool_threads | 0 |&lt;br/&gt;| Threads_cached | 29 |&lt;br/&gt;| Threads_connected | 13 |&lt;br/&gt;| Threads_created | 50 |&lt;br/&gt;| Threads_rejected | 0 |&lt;br/&gt;| Threads_running | 1 |&lt;br/&gt;+-------------------------+-------+&lt;br/&gt;7 rows in set (0.00 sec)&lt;br/&gt;&lt;/code&gt;</pre><p>为了确保 MySQL 服务器的稳健运行,线程数应该控制在合理的范围内。Threads_created表示创建过的线程数,通过查看Threads_created就可以查看MySQL服务器的进程状态。</p><pre class="brush:bash;gutter:true;">&lt;code&gt;mysql&gt; show variables like &amp;#39;thread_cache_size&amp;#39;;&lt;br/&gt;+-------------------+-------+&lt;br/&gt;| Variable_name | Value |&lt;br/&gt;+-------------------+-------+&lt;br/&gt;| thread_cache_size | 100 |&lt;br/&gt;+-------------------+-------+&lt;br/&gt;1 row in set (0.00 sec)&lt;br/&gt;&lt;/code&gt;</pre><p>如果我们在MySQL服务器配置文件中设置了thread_cache_size,当客户端断开之后,服务器处理此客户的线程将会缓存起来以响应下一个客户而不是销毁(前提是缓存数未达上限)。</p> <p>Threads_created表示创建过的线程数,如果发现Threads_created值过大的话,表明MySQL服务器一直在创建线程,这也是比较耗资源,可以适当增加配置文件中thread_cache_size值,查询服务器thread_cache_size的值:</p><pre class="brush:php;toolbar:false">mysql&gt; show processlist; </pre><p>命令:<code>show processlist;

如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。

show processlist命令只列出前100条,如果想全列出请使用show full processlist;

mysql>show status like &#39;%变量名%&#39;;

命令:show status;Threads_running : Cette valeur fait référence au nombre de connexions activées. Cette valeur est généralement bien inférieure à la valeur connectée.

    Si les résultats de Threads_connected et show processlist sont les mêmes, cela indique le nombre de connexions actuellement disponibles. . Pour être précis, Threads_running représente le nombre actuel de connexions simultanées
  • Requêtez le nombre maximum de connexions actuellement définies dans la base de données
  • rrreee

    dans /etc /my. Définissez le nombre maximum de connexions à la base de données dans cnf

    rrreee
  • Afin de garantir le bon fonctionnement du serveur MySQL, le nombre de threads doit être contrôlé dans une plage raisonnable. Threads_created indique le nombre de threads créés. En affichant Threads_created, vous pouvez visualiser l'état du processus du serveur MySQL.
  • rrreee

    Si nous définissons thread_cache_size dans le fichier de configuration du serveur MySQL, lorsque le client se déconnecte, le thread du serveur traitant ce client sera mis en cache pour répondre au client suivant au lieu d'être détruit (à condition que le cache le nombre n’a pas atteint la limite supérieure).

  • Threads_created indique le nombre de threads créés. Si la valeur Threads_created s'avère trop grande, cela indique que le serveur MySQL a créé des threads, ce qui est également relativement gourmand en ressources. la valeur thread_cache_size dans le fichier de configuration et interrogez le serveur thread_cache_size Value :
  • rrreee

    Command : show processlist; vous pouvez voir les connexions actuelles de tous les utilisateurs. S'il s'agit d'un autre compte ordinaire, vous ne pouvez voir que les connexions que vous occupez.

  • La commande show processlist répertorie uniquement les 100 premiers éléments. Si vous souhaitez tous les lister, veuillez utiliser show full processlist ; : <code> show status;<li> <p>rrreee</p>Les noms des variables sont les suivants : </li> <li> <p></p>Aborted_clients La connexion est interrompue et a a été abandonné car le client ne l'a pas fermé correctement. Nombre de connexions. </li> <li> <p></p>Aborted_connects Le nombre de tentatives de connexion au serveur MySQL qui ont échoué. </li> <li> <p></p>Connections Le nombre de tentatives de connexion au serveur MySQL. </li> <li> <p></p>Created_tmp_tables Le nombre de tables temporaires implicites qui ont été créées lors de l'exécution de l'instruction. </li> <li> <p></p>Delayed_insert_threads Le nombre de threads de processeur d'insertion retardée utilisés. </li> <li> <p></p>Delayed_writes Le nombre de lignes écrites avec INSERT DELAYED. </li> <li> <p></p>Le nombre de lignes où des erreurs (telles que des valeurs de clé en double) se sont produites a été écrit INSERT DELAYED. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#Flush_commands Le nombre de fois que la commande FLUSH est exécutée. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#Handler_delete Le nombre de fois qu'il est demandé de supprimer une ligne d'une table. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#Handler_read_first Le nombre de fois que la requête lit la première ligne du tableau. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#Handler_read_key Demande un numéro pour lire la ligne en fonction de la clé. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#Handler_read_next Demande le nombre de fois pour lire une ligne en fonction d'une clé. #🎜🎜#</li> <li><p>Handler_read_rnd Demande le nombre de fois pour lire une ligne en fonction d'une position fixe. </p></li> <li><p>Handler_update Le nombre de fois qu'il est demandé de mettre à jour une ligne du tableau. </p></li> <li><p>Handler_write Le nombre de fois qu'il est demandé d'insérer une ligne dans le tableau. </p></li> <li><p>Key_blocks_used Nombre de blocs utilisés pour la mise en cache des mots clés. </p></li> <li><p>Key_read_requests Le nombre de requêtes pour lire une valeur de clé dans le cache. </p></li> <li><p>Key_reads Le nombre de fois qu'une valeur de clé est physiquement lue à partir du disque. </p></li> <li><p>Key_write_requests Le nombre de fois qu'un bloc de mot-clé doit être écrit dans le cache. </p></li> <li><p>Key_writes Le nombre de fois qu'un bloc clé-valeur est physiquement écrit sur le disque. </p></li> <li><p>Max_used_connections Le nombre maximum de connexions utilisées simultanément. </p></li> <li><p>Not_flushed_key_blocks Blocs de clés qui ont changé dans le cache de clés mais qui n'ont pas encore été vidés sur le disque. </p></li> <li><p>Réexpression de cette déclaration : "Not_flushed_delayed_rows" indique le nombre de lignes qui n'ont pas été écrites dans la file d'attente INSERT DELAY. </p></li> <li><p>Open_tables Le nombre de tables ouvertes. </p></li> <li><p>Open_files Le nombre de fichiers ouverts. </p></li> <li><p>Open_streams Le nombre de flux ouverts (principalement utilisé pour la journalisation) </p></li> <li><p>Opened_tables Le nombre de tables ouvertes quantité. </p></li> <li><p>Questions Le nombre de requêtes envoyées au serveur. </p></li> <li><p>Slow_queries Le nombre de requêtes qui prennent plus de long_query_time. </p></li> <li><p>Threads_connected Le nombre de connexions actuellement ouvertes. </p></li> <li><p>Threads_running Le nombre de threads qui ne dorment pas. </p></li> <li><p>Uptime Combien de temps le serveur a fonctionné, en secondes. </p></li>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer