2.1. 为什么要水平测试
许多中型到大型的MySQL部署会有专门的部门来进行水平测试。但是,每一个开发者和DBA都应该了解基本的水平测试准则和实践方法,因此这些方法是一些比较全面而有用的方法。下面是一些水平测试可以帮你做到的事情:
测量你的系统当前的性能如何。如果你不知道系统当前运行地有多快,你就不可能确定你所做的修改是否有用。同时你也可以利用水平测试的历史结果来诊断一些你没有预料到的问题。
验证系统的扩展性。你可利用水平测试来模拟比目前生产环境下的系统所处理的负载更高的负载,比如用户数激增1000倍。
为升级做准备。水平测试可以帮助你估计需要多少硬件,网络带宽以及其他的一些资源来适应规划的未来负载。这有利于在升级和重大的应用调整中减少风险。
测试系统对于环境改变的容忍度。比如,你可以找到你的应用在一个偶然的并发高峰的表现,或者在不同配置的服务器下的表现,或者在处理不同数据分布的情况下的表现。
测试不同的硬件、软件以及操作系统配置。RAID5或者RAID10哪一个对于你的系统更好?当你从ATA硬盘换为SAN硬盘时随机写操作的性能如何随之改变?Linux 2.4内核是否比2.6系列的内核表现地更好?是否MySQL的升级有利于性能提升?如果对于当前的数据使用一个不同的存储引擎会怎么样?你可以通过不同的水平测试来回答这些问题。
你也可以利用水平测试来达到其他的一些上的,比如为你的应用创建一个单元测试集,当然这里我们只关注与性能相关的方面。