MySQL Status Threads_created 数据库状态作用意思及如何正确

本站中文解释

MySQL status变量是MySQL系统内部的状态变量,通过它来众多状态参数的报告,可以检测系统的运行状况和性能,帮助定位MySQL数据库的问题并进行优化,一个参数就是 Threads_created。

Threads_created是当前mySQL服务器建立的线程总数,当一个新连接到达时,MySQL会建立一个线程来处理这个连接,当连接结束时线程也会被立即清理掉,如果系统有大量的平行连接,就会频繁重复创建线程。

Threads_created参数是动态的,不需要特殊设置,可以通过SHOW STATUS或 Myisam 方法来查询:

1、SHOW STATUS来查询,如:

mysql> SHOW STATUS LIKE ‘Threads_created’;
+——————-+——-+
| Variable_name | Value |
+——————-+——-+
| Threads_created | 7 |
+——————-+——-+

2、Myisam引擎来查询,Myisam引擎更改保存在 name.frm文件中,只需打开name.frm文件,便可以找到Variables_info,搜索Threads_created字段直接定位。

查询结果表明,MySQL当前创建的线程总数为7,也就是说,MySQL当前有7个连接,那么你就可以根据服务器的连接数来优化你的系统。

要设置Threads_created,需要确保MySQL服务器具有足够的硬件资源,比如内存、CPU,以及服务器连接数量,最好是咨询专家,较为恰当的调整服务器的参数。

MySQL系统参数thread_cache_size控制MySQL当前最大的缓存线程数量。它将限制Threads_created数据,也就是将其减少至指定的数量,从而减少资源消耗。

当 thread_cache_size 设置为0时,MySQL将创建新的线程为每个新的连接分配一个线程,这也是MySQL最差的做法,一般来说应该有一定的thread_cache_size,尽可能的大,加快连接处理速度,增加服务器的效率,从而缩减服务器的负载,减少Threads_created的增长。

当thread_cache_size 设置大于1时,如果分配的服务器的资源都在用的话,MySQL可以重用正在使用的线程,而不是重新创建一个新的线程。MySQL可以粗略的检测当前的连接数是否高于thread_cache_size,如果有新连接会创建新线程,如果线程未被重用,说明当前系统有大量的连接,Threads_created将被增加。

总之,Threads_created变量用来衡量线程建立数量,除了设置thread_cache_size之外,了解MySQL运行情况,确定其他参数如查询缓存长度,以优化性能。此外,MySQL提供了许多实用工具和诊断功能,可以检测Threads_created的变化,诊断出MySQL的问题,帮助优化MySQL的性能。


数据运维技术 » MySQL Status Threads_created 数据库状态作用意思及如何正确