ホームページ  >  に質問  >  本文

并发 - mysql的show status 中 thread 的含义?

MySQL使用show status like '%Thread%',得到如下显示:

+---------------------------+-------+
| Variable_name             | Value |
+---------------------------+-------+
| Delayed_insert_threads    | 0     |
| Slow_launch_threads       | 0     |
| Threads_cached            | 23    |
| Threads_connected         | 399   |
| Threads_connected_reserve | 91    |
| Threads_created           | 2173  |
| Threads_running           | 3     |
+---------------------------+-------+

关于这个显示,有一些疑问。我的问题如下:

  1. Threads_connected是不是代表连接池中目前所创建的所有连接?
  2. Threads_running是否代表所创建的所有连接中正在使用的连接?
  3. 如果上述理解是正确的,Threads_running很小而Threads_connected很大,是不是说明有很多空闲的 connection?那为何在做并发测试的时候,Threads_connected便直线上升,而不是直接使用空闲的?
迷茫迷茫2742日前1162

全員に返信(1)返信します

  • 高洛峰

    高洛峰2017-04-17 11:43:59

    你的理解错了
    Threads_cached:
    The number of threads in the thread cache. This variable was added in MySQL 3.23.17.

    Threads_connected:
    The number of currently open connections.当前打开的连接数

    Threads_created:
    The number of threads created to handle connections. If Threads_created is big, you may want to increase the thread_cache_size value. The cache miss rate can be calculated as Threads_created pided by Connections. This variable was added in MySQL 3.23.31.

    Threads_running:
    The number of threads that are not sleeping.当前未挂起的连接数

    MYSQL官方解释http://dev.mysql.com/doc/refman/4.1/en/server-status-variables.html#statvar_Threads_connected

    返事
    0
  • キャンセル返事