为什么需要基准测试
许多中,大型的MySQL部署都需要一些人员去做基准测试。然而,每个开发人员和DBA都应该去熟悉一些基准测试的准侧和实践,因为它们能广泛的应用。下面的一些基准测试应该能帮上你:
- 估计下你的应用程序的运行情况。如果你不知道它现在运行的有多块,那么你就不能确定哪些改变能帮上你。你也可以使用以前基准测试的结果,来测出你没有预料到的问题。
- 验证应用的可伸缩性(scalability)。你可以使用基准测试模拟比产品应用要高的请求。如用户数千倍的增长。
- 对增长性有个计划。基准测试可以帮你估算出所需的硬件,网络能力,以及其他你未来可能会用到的资源。这些可以在系统更改或升级中降低风险。
- 在允许的环境中测试应用程序的能力。如,在兵法高峰期,发现应用是怎样工作的或者在不同的数据分布下,应用是怎样操作的。
- 测试不同的硬件,软件,和操作系统。RAID5,RAID10那个对于系统更好?如果选择SAN存储而不是ATA,随机写的性能怎样?Linux2.4要优于2.6么?MySQL的升级有助于提升性能么?用不同的存储引擎来存储数据会怎样呢?通过更专门的基准测试,可以得知上面问题的答案。
你也可以使用基准测试完成其他的目标。如,对应用程序创建一个单元测试包,但是在这里我们主要关注与和性能相关的方面。