參加煉數成金的MySQL教育訓練,這是其中的一個作業題.
原來做過類似的監控
http://blog.itpub.net/29254281/viewspace-1222337/
首先,使用腳本進行資料采集
vim /tmp/probe.sh
#!/bin/bash
#采集間隔時間,機關s
asleep=10
user=root
password=root
probe_file=probe.log
while [ 1 ] ; do
a=$(pt-mysql-summary --user $user --password $password --sleep
$asleep | grep -i
"Innodb_buffer_pool_read_requests\|Innodb_buffer_pool_reads" | awk
'{if(length($3)==0) print 0 ;else print $3}'| tr -t '\n' ' ');
Innodb_buffer_pool_read_requests=$(echo $a | awk '{print $1}')
Innodb_buffer_pool_reads=$(echo $a | awk '{print $2}')
Innodb_buffer_read_hit_ratio=$(echo "scale=2; ((1 -
$Innodb_buffer_pool_reads/$Innodb_buffer_pool_read_requests) * 100)" |
bc)
echo $(date "+%Y-%m-%d_%H:%M:%S") $Innodb_buffer_read_hit_ratio >> $probe_file
done;
然後準備繪制圖形的腳本
vim probe.gp
set terminal png size 3000,1000 font '/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc,14';
set yrange [0:100]
set size ratio 0.9 ;
set output '/tmp/probe.png' ;
set xdata time ;
set grid;
set timefmt '%Y-%m-%d_%H:%M:%S' ;
set xlabel "時間"
set ylabel "命中率"
plot '/tmp/probe.log' using 1:2 with line title 'InnoDB Buffer Pool命中率'
每次需要檢視InnoDB Buffer Pool命中率的時候,執行指令
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZwpmLNhjQ4cTNygjN0ETM0EzXxgjM0UjM5IzLcNjMvwVOwQTMwIzLcRWYvxGc191dfB3LcRXZu5iY1BHdp5yZvxmYvw1LcpDc0RHaiojIsJye.jpg)
然後檢視繪制的圖形
http://blog.itpub.net/29254281/viewspace-1278514/
seo優化技術