前言
其实MySQL基线测试已经不是什么新鲜的话题了,这应该是作为DBA的基本的技能了。大家都知道使用一些工具去做(sysbench、tpcc-mysql、tpc-c等等)。本篇文章不是告诉你相关的工具具体怎么用,更不是告诉你工具输出的报告应该如何去看,这些在现在的互联网中一搜一大把。本篇文章告诉你的是一个流程,做一个测试我们需要做一些什么、如何提取我们需要的信息,并生成可视化报告。在之后的监控我们就可以使用输出的报告作为基准,从而来定位问题和瓶颈。
收集数据的重要
测试最重要的就是在测试过程中收集的数据,各个方面的数据越多对以后的参照对比越有利。比如收集磁盘IO、CPU、网络情况等等。如果少收集了相关资源数据很可能在以后就不知道相关资源的瓶颈。如你没有收集IO资源的使用变化情况。你就不知道你的MySQL的写能力到达什么时候是个瓶颈,就不知道要如何去预防了。
我使用的工具
tpcc-mysql:Percona的一款流行的开元的测试工具。(当然也可以使用sysbench,这里建议使用sysbench 5,有很多新的特性)。
orzdba:阿里的一款监测MySQL相关性能的工具。
nmon:IBM的一款搜集监测IO、CPU等信息的工具。
nmon analyser:和nmon配套使用的分析工具。
tpcc_report.py:笔者使用python编写的,用来分析tpcc-mysql测试完输出的信息并输出报表。
orzdba_report.py:笔者使用python编写的,用来分析orzdba监控输出的数据并生成报表。
感谢那些为开源做贡献的团队们。向他们致敬! ^_^
由于笔者编写的Python脚本使用到了pandas和mat