
2018-08-01 00:30:21
1.innodb缓冲池的read命中率是什么?
缓冲池的read命中率是从缓冲池中读取数据的命中率
2.如何计算缓冲池read的命中率?
innodb_buffer_hite = 1 - read_disk / read_total
3.在shell中如何相关参数计算缓冲池的read命中率?
注意:mysql是免密登录的
Innodb_buffer_pool_reads
#从物理磁盘读取的次数
Innodb_buffer_pool_read_requests read
#总共读取的次数
获取从硬盘读取的次数
mysqladmin extended-status | awk '/\<Innodb_buffer_pool_reads\>/{print $4}'
获取读取的总次数
mysqladmin extended-status | awk '/\<Innodb_buffer_pool_read_requests\>/{print $4}'
shell脚本中获取innodb缓冲池的read命中率
cat innodb_hite_rate.sh
#!/bin/bash
innodb_hite_rate() {
#从硬盘中读取的次数
Read_disk=`mysqladmin extended-status | awk '/\<Innodb_buffer_pool_reads\>/{print $4}'`
#总的读取次数
Read_total=`mysqladmin extended-status | awk '/\<Innodb_buffer_pool_read_requests\>/{print $4}'`
#命中率
awk 'BEGIN{printf "%.4f\n",'$(($Read_total-$Read_disk))'/'$Read_total'}'
}
$1
4.添加agent模板
vim userparameter_my.conf
模板文件如下
UserParameter=monitor_mysql[*],/bin/bash /etc/zabbix/shell/monitor_mysql.sh "$1"
参数解释:
monitor_mysql[*]:是自定义key
*是传参 是从server端自定义键值的时候传参传下来的
*在web端得键值就是monitor_mysql[innodb_hite_rate],调用agent端得函数方法
文章转载自一直爱流浪的猫,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




