基准测试应该运行多长时间
基准测试应该运行足够长的时间这一点很重要如果需要测试系统在稳定状态时的性能那么当然需要在稳定状态下测试并观察而如果系统有大量的数据和内存要达到稳定状态可能需要非常长的时间大部分系统都会有一些应对突发情况的余量能够吸收性能尖峰将一些工作延迟到高峰期之后执行但当对机器加压足够长时间之后这些余量会被消耗尽系统的短期尖峰也就无法维持原来的高性能
有时候无法确认测试需要运行多长的时间才足够如果是这样可以让测试一直运行持续观察直到确认系统已经稳定下面是一个在已知系统上执行测试的例子图 显示了系统磁盘读和写吞吐量的时序图
系统预热完成后读I/O 活动在三四个小时后曲线趋向稳定但写I/O 至少在八小时内变化还是很大之后有一些点的波动较大但读和写总体来说基本稳定了注一个简单的测试规则就是等系统看起来稳定的时间至少等于系统预热的时间本例中的测试持续了 个小时才结束以确保能够体现系统长期的行为
一个常见的错误的测试方式是只执行一系列短期的测试比如每次 秒并在此测试的基础上去总结系统的性能我们经常可以听到类似这样的话我尝试对新版本做了测试但还不如旧版本快然而我们分析实际的测试结果后发现测试的方式根本不足以得出这样的结论有时候人们也会强调说不可能有时间去测试 或者 个小时以验证 个不同并发性在两到三个不同版本下的性能如果没有时间去完成准确完整的基准测试那么已经花费的所有时间都是一种浪费有时候要相信别人的测试结果这总比做一次半拉子的测试来得到一个错误的结论要好
返回目录高性能MySQL
编辑推荐
ASP NET开发培训视频教程
数据仓库与数据挖掘培训视频教程
Oracle索引技术