一、当前线程连接数
show global status like 'threads_%';
Threads_cached:当前此时此刻线程缓存中有多少空闲线程;
Threads_connected:代表当前已建立连接的数量,因为一个连接需要一个线程,也可以看成当前被使用的线程数;
Threads_created:代表从最近一次服务启动,已经创建线程的数量;
Threads_running:代表当前激活(非睡眠)的线程数。
二、连接数和最大连接数
show global status like '%connections';
Connections:试图连接到MySQL服务器的连接数;
Max_used_connections:服务器启动后已经同时使用的连接的最大数量(这个是连接的最大峰值,主要和参数max_connections对比来决定是否调整参数)
线程缓存命中率=1-Threads_created/Connections。
三、连接失败的线程
show global status like '%abort%';
Aborted_clients:当ablort clients增大的时候意味着有客户端成功建立连接,但是很快就断开连接或者被终止了,这种情况一般发生在网络不稳定的环境中。
a)客户端没有主动关闭mysql连接mysql_close()
b)wait_timeout设置很短被mysql干掉了
c)客户端由于某些原因被干掉了,异常终止
Aborted_connects:当有大量的链接连接不上mysql的时候,这个数值就会激增。
a)没有授权或者密码不对,一般错误日志中会有如下报错(Access denied for ‘user’@‘host’)
b)连接数满了,一般报错包含(too many connections)
c)超过链接时间限制,主要由这个参数控制connect_timeout(mysql默认是10s,基本除非网络环境极端不好,一般不会超时。)
四、锁相关的状态量
show global status like '%table_lock%';
五、慢查询次数相关的状态量
show global status like '%slow_queries%';
QPS(每秒Query数,针对于innodb存储引擎)
TPS(每秒事务数,针对于innodb存储引擎)