基于MySQL应用的基准测试(2)

发表于:2013-6-18 09:55  作者:宁海元 周振兴等 译   来源:51Testing软件测试网采编

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签:

  该gnuplot 命令将文件的第五列qps 数据绘成图形,图的标题是QPS。图2-2 是绘制出来的结果图。

  下面我们讨论一个可以更加体现图形价值的例子。假设MySQL 数据正在遭受“疯狂刷新(furious flushing)”的问题,在刷新落后于检查点时会阻塞所有的活动,从而导致吞吐量严重下跌。95% 的响应时间和平均响应时间指标都无法发现这个问题,也就是说这两个指标掩盖了问题。但图形会显示出这个周期性的问题,请参考图2-3。

  图2-3 显示的是每分钟新订单的交易量(NOTPM,new-order transactions per minute)。从曲线可以看到明显的周期性下降,但如果从平均值(点状虚线)来看波动很小。一开始的低谷是由于系统的缓存是空的,而后面其他的下跌则是由于系统刷新脏块到磁盘导致。如果没有图形,要发现这个趋势会比较困难。

  这种性能尖刺在压力大的系统比较常见,需要调查原因。在这个案例中,是由于使用了旧版本的InnoDB 引擎,脏块的刷新算法性能很差。但这个结论不能是想当然的,需要认真地分析详细的性能统计。在性能下跌时,SHOW ENGINE INNODB STATUS的输出是什么?SHOW FULL PROCESSLIST 的输出是什么?应该可以发现InnoDB 在持续地刷新脏块,并且阻塞了很多状态是“waiting on query cache lock”的线程,或者其他类似的现象。在执行基准测试的时候要尽可能地收集更多的细节数据,然后将数据绘制成图形,这样可以帮助快速地发现问题。

相关链接:

基于MySQL应用的基准测试(1)


55/5<12345

评 论

论坛新帖



建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海漕溪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2022, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道