美文网首页
mysql监控思路和实施

mysql监控思路和实施

作者: 金融测试民工 | 来源:发表于2020-11-20 00:08 被阅读0次

一、对数据库服务可用性进行监控

1.1 通过测试账号ping命令返回的信息判断数据库可以通过网络连接

[root@localhost]# /usr/bin/mysqladmin -uroot -p123456 ping

mysqld is alive

1.2 确认数据库是否可读写

a.检查数据库的read_only参数是否为off

[root@localhost]# mysql -uroot -p123456 -P3306 -e "show global variables like 'read_only'" | grep read_only

read_only   OFF

b.执行简单的数据库查询,如:select @@version;

[root@localhost]# mysql -uroot -p123456 -P3306 -e "select @@version"  | grep Mysql

5.5.56-Mysql

二、对数据库性能进行监控

2.1 监控数据库连接数可用性

a.数据库最大连接数

[root@localhost]# mysql -uroot -p123456 -e "show variables like 'max_connections'"

+-----------------+-------+

| Variable_name   | Value |

+-----------------+-------+

| max_connections | 151   |

+-----------------+-------+

b.数据库当前打开的连接数

[root@localhost]# mysqladmin -uroot -p123456 extended-status | grep -w "Threads_connected"

| Threads_connected                        | 1           |

注:如何计算当前打开的连接数占用最大连接数的比例呢?

result=Threads_connected/max_connections,在做监控报警或可视化监控时能够很好的根据这个比例及时调整最大连接数。

2.2 数据库性能监控

a.QPS:每秒的查询数

QPS计算方法

Questions = SHOW GLOBAL STATUS LIKE 'Questions';

Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';

QPS=Questions/Uptime

b.TPS:每秒的事物量(commit与rollback的之和)

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

2.3 数据库并发请求数量

Mysql [(none)]>  SHOW GLOBAL STATUS LIKE 'Threads_running';

+-----------------+-------+

| Variable_name   | Value |

+-----------------+-------+

| Threads_running | 3     |

+-----------------+-------+

1 row in set (0.00 sec)

注:并发请求数量通常会远小于同一时间内连接到数据库的连接数数量。

三、对主从复制进行监控

3.1 主从复制链路状态的监控

3.2 主从复制延迟时间的监控

3.3 定期确认主从复制的数据是否一致

相关文章

网友评论

      本文标题:mysql监控思路和实施

      本文链接:https://www.haomeiwen.com/subject/bwmriktx.html