MySQL监控

参考:http://www.cnblogs.com/xxmysql/p/5995476.html



select benchmark(100000000, 'call mysp()'); #第一个函数调用多少次,第二个函数执行的sql。 注意响应时间

select benchmark(100000000, 'select 1+1');  #判断服务器性能,做基准测试。然后监控系统监控每秒指标,响应时长。
mysqladmin ext | grep -i trx #判断事物id,percona版本才有,官方版本查看information_schema查看trx信息&innodb status


mysql监控:
1. 每秒活跃DML(sql)数,/事物数/请求数/当前并发连接数/平均响应时长
2. 锁:表锁,行锁,锁等待,死锁。#最大行锁时间,发生次数。
3. 内存:buffer/cache命中率、内存如果等待释放(如果内存等待释放,mysqld可能需要增加buffer)。
4. 事物:事物ID增长,有没有持续稳定增长。unpurged 未清除的历史事物积压有多少。
5. 慢查询:平均耗时,平均次数
 
mysqladmin ext|grep -i 'Innodb_buffer_pool_wait_free'
                
3个等待事件状态,如果有发生需要关注:
1. Innodb_buffer_pool_wait_free  #innodb等待更多的buffer、page释放,比较严重,说明当前buffer使用很厉害,没有空闲。
2. innodb_log_waits              #redo log 需要切换,没有足够空间。
3. table_locks_waited            #请求表锁的时候没有立刻获得表锁,需要等待。


慢日志,看哪种sql发生最多,优先解决,其次解决耗时最长。


mysqladmin --socket=/data/mysql/3310/tmp/mysql.lock -P3310 -uroot -p123456 -r -i 2 ext |\
awk -F"|" \
"BEGIN{ count=0; }"\
'{ if($2 ~ /Variable_name/ && ((++count)%20 == 1)){\
    print "----------|---------|--- MySQL Command Status --|----- Innodb row operation ----|-- Buffer Pool Read --";\
    print "---Time---|---QPS---|select insert update delete|  read inserted updated deleted|   logical    physical";\
}\
else if ($2 ~ /Queries/){queries=$3;}\
else if ($2 ~ /Com_select /){com_select=$3;}\
else if ($2 ~ /Com_insert /){com_insert=$3;}\
else if ($2 ~ /Com_update /){com_update=$3;}\
else if ($2 ~ /Com_delete /){com_delete=$3;}\
else if ($2 ~ /Innodb_rows_read/){innodb_rows_read=$3;}\
else if ($2 ~ /Innodb_rows_deleted/){innodb_rows_deleted=$3;}\
else if ($2 ~ /Innodb_rows_inserted/){innodb_rows_inserted=$3;}\
else if ($2 ~ /Innodb_rows_updated/){innodb_rows_updated=$3;}\
else if ($2 ~ /Innodb_buffer_pool_read_requests/){innodb_lor=$3;}\
else if ($2 ~ /Innodb_buffer_pool_reads/){innodb_phr=$3;}\
else if ($2 ~ /Uptime / && count >= 2){\
  printf(" %s |%9d",strftime("%H:%M:%S"),queries);\
  printf("|%6d %6d %6d %6d",com_select,com_insert,com_update,com_delete);\
  printf("|%6d %8d %7d %7d",innodb_rows_read,innodb_rows_inserted,innodb_rows_updated,innodb_rows_deleted);\
  printf("|%10d %11d\n",innodb_lor,innodb_phr);\
}}'


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值