Mysql数据库监控

一、当前线程连接数

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存储引擎)

猜你喜欢

转载自www.cnblogs.com/zichuan/p/10156956.html