python2监控MySQL QPS/TPS 等性能指标

本文介绍了如何利用Python2监控MySQL的QPS/TPS等性能指标。通过执行MySQL的`show global status`命令,关注与QPS/TPS相关的变量如'Com_commit', 'Com_delete', 'Com_insert', 'Com_rollback', 'Com_select', 'Com_update',并计算两秒执行次数的差值来获取每秒并发值。同时,讨论了缓冲池命中率的计算方法,结合'Innodb_buffer_pool_read_requests', 'Innodb_buffer_pool_read_ahead', 'Innodb_buffer_pool_reads'三个参数进行计算。文中提供了一段实现此功能的脚本样例。" 133294160,19974013,C# 实现科大讯飞离线语音合成,"['开发语言', 'C#', '.NET', '语音技术']
摘要由CSDN通过智能技术生成

监控思路

1.通过MySQL 命令 show  global status 可以获取MySQL 数据库的各种状态信息

2.其中 'Com_commit','Com_delete','Com_insert','Com_rollback','Com_select','Com_update' 几个参数和QPS/TPS 相关

通过show global status where Variable_name in ( 'Com_commit','Com_delete','Com_insert','Com_rollback','Com_select','Com_update' ) 可以得到 MySQL 从运行开始所执行 insert,select,update,delete,commit等语句总计执行的次数

我们所需要的是每秒的并发值这些总数并不是我们所需要的数据

3.解决方案:

每执行一次上面的SQL就可以获取当前时间的执行总数,我们再下一秒再次执行这个SQL可以获取到下一秒最新的总数,两个总数之间的差值即这一秒时间内的变量。这就是我们想要的结果

其他状态例如缓冲池命中率,和着三个参数有关  'Innodb_buffer_pool_read_requests','Innodb_buffer_pool_read_ahead','Innodb_buffer_pool_reads'  三个数之相加得到所有的请求总数,Innodb_buffer_pool_read_requests 是通过缓冲池请求的总数,用该值除以所有请求总数得到的就是 缓冲池的命中率

脚本样例

话不多说,贴脚本


                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值