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 |
+---------------------------+-------+
关于这个显示,有一些疑问。我的问题如下:
- Threads_connected是不是代表连接池中目前所创建的所有连接?
- Threads_running是否代表所创建的所有连接中正在使用的连接?
- 如果上述理解是正确的,Threads_running很小而Threads_connected很大,是不是说明有很多空闲的 connection?那为何在做并发测试的时候,Threads_connected便直线上升,而不是直接使用空闲的?
EoPoi
10 years, 2 months ago
Answers
你的理解错了
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 divided 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
无名沉淀者
answered 10 years, 2 months ago