MySQL database response time
MySQL数据库运维过程中,我们经常通过一些系统指标,DB指标来check数据库的运行状态。响应时间就是一个很重要的参数。但是响应时间一般都比较难抓取。特别是MySQL数据库。统计信息这块做的还是有很大的进步空间。不像Oracle可以通过统计信息来计算响应时间。
今天大致整理了一下,MySQL数据库的响应时间的收集方法。目前业界主要有两种方式:
1. 通过tcpdump 抓网络包,来进行分析。对应的工具 tcprstat
2. 原理和1类似,只不过是集成到了数据库中【Percona Server & MariaDB】
下面分别介绍一下两种方法
如何使用tcprstat ?
安装:
从 http://github.com/downloads/Lowercases/tcprstat/tcprstat-static.v0.3.1.x86_64 下载
放到 PATH 路径下 , 比如 : /usr/bin
重命名为 tcprstat
添加可执行权限: chmod +x
运行:
[root@xxx ~]# /home/mysql/bin/tcprstat -p 3306 -t 1 -n 0 -l `/sbin/ifconfig | grep 'addr:[^ ]\+' -o | cut -f 2 -d : | xargs echo | sed -e 's/ /,/g'`
timestamp count max min avg med stddev 95_max 95_avg 95_std 99_max 99_avg