mysql数据库监控

观书散遗帙,探古穷至妙。这篇文章主要讲述mysql数据库监控相关的知识,希望能为你提供帮助。


mysql是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。而Mysql数据库监控软件(简称:MySQL数据库监控或MySQL监控)是对Mysql运行时性能、连接数、线程、查询速度、吞吐量、锁等MySQL运行状态进行全面监控的软件。除此之外,MySQL数据库监控软件还应该可以对这些监控指标或监控器进行设定阀值报警,以便于MYSQL数据库管理员及时发现MYSQL的异常并加以管理。

【mysql数据库监控】

MySQL数据库监控功能作为PIGOSS BSM监控软件的一项基本功能,从PIGOSS BSM监控软件发布开始就一直作为其核心功能之一,大量用户环境中正式使用,具有稳定、易用、指标齐全等特点。
通过该软件可以快速监控服务器上运行的MySQL数据库以及Mysql数据库性能,可用于监控数据库状态、线程打开情况、连接数、打开的表、运行状态、Mysql查询等性能。

通常情况下,MySQL数据库监控主要使用以下命令:
(这些在PIGOSS BSM中你只需要指定MYSQL的IP、端口、用户名和密码即可!PIGOSS BSM监控软件将为你提供便捷、快捷的MYSQL数据库监控)
SHOW STATUS;
FLUSH STATUS;
查看当前连接数 SHOW STATUS LIKE Thread_%;
Thread_cached:被缓存的线程的个数
Thread_running:处于激活状态的线程的个数
Thread_connected:当前连接的线程的个数
Thread_created:总共被创建的线程的个数
Thread cache hits
Thread_connected = SHOW GLOBAL STATUS LIKE Thread_created;
Connections = SHOW GLOBAL STATUS LIKE Connections;
TCH=(1 - (Threads_created / Connections)) * 100
查看活动连接内容
SHOW PROCESSLIST;
如果 TCH数小于90%,创建连接耗费了时间,增大Thread_cached数量(一般设置为系统processor的值*2)

QPS
Questions = SHOW GLOBAL STATUS LIKE Questions;
Uptime = SHOW GLOBAL STATUS LIKE Uptime;
QPS=Questions/Uptime
TPS
Com_commit = SHOW GLOBAL STATUS LIKE Com_commit;
Com_rollback = SHOW GLOBAL STATUS LIKE Com_rollback;
Uptime = SHOW GLOBAL STATUS LIKE Uptime;
TPS=(Com_commit + Com_rollback)/Uptime
QPS 和 TPS值一定要实时监控,如果接近架构搭建时的测试峰值,愿上帝与你同在

Read/Writes Ratio
Qcache_hits = SHOW GLOBAL STATUS LIKE Qcache_hits;
Com_select = SHOW GLOBAL STATUS LIKE Com_select;
Com_insert = SHOW GLOBAL STATUS LIKE Com_insert;
Com_update = SHOW GLOBAL STATUS LIKE Com_update;
Com_delete = SHOW GLOBAL STATUS LIKE Com_delete;
Com_replace = SHOW GLOBAL STATUS LIKE Com_replace;
R/W=(Com_select + Qcache_hits) / (Com_insert + Com_update + Com_delete + Com_replace) * 100
读写比,优化的重要依据,读的多就去优化读,写的多就去优化写

Slow queries per minute
Slow_queries = SHOW GLOBAL STATUS LIKE Slow_queries;
Uptime = SHOW GLOBAL STATUS LIKE Uptime;
SQPM=Slow_queries / (Uptime/60)
Slow queries /Questions Ratio
Slow_queries = SHOW GLOBAL STATUS LIKE Slow_queries;
Questions = SHOW GLOBAL STATUS LIKE Questions;
S/Q=Slow_queries/Questions
新版本上线时要着重关注慢查询,让测试去踢开发者的屁股吧

Full_join per minute
Select_full_join = SHOW GLOBAL STATUS LIKE Select_full_join;
Uptime = SHOW GLOBAL STATUS LIKE Uptime;
FJPM=Select_full_join / (Uptime/60)
没有使用索引而造成的full_join,优化索引去吧
Innodb buffer read hits
Innodb_buffer_pool_reads = SHOW GLOBAL STATUS LIKE Innodb_buffer_pool_reads;
Innodb_buffer_pool_read_requests = SHOW GLOBAL STATUS LIKE Innodb_buffer_pool_read_requests;
IFRH=(1 - Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests) * 100
InnoDB Buffer命中率 目标 95%-99%;

Table Cache
Open_tables= SHOW GLOBAL STATUS LIKE Open_tables;
Opened_tables= SHOW GLOBAL STATUS LIKE Opened_tables;
table_cache= SHOW GLOBAL STATUS LIKE table_cache;
table_cache应该大于 Open_tables 小于 Opened_tables

    推荐阅读