基准测试是什么
基准测试(benchmark)是针对系统设计的一种压力测试。通常目标是为了掌握系统的行为,也有为了重现某个系统状态,或者对新硬件做可靠性测试。
为什么需要基准测试
基准测试是唯一方便有效的、可以学习系统在给定的工作负载下会发生什么的方法。基准测试可观察系统在不同压力下的行为,评估系统的容量,掌握哪些是重要的变化,或者观察系统如何从护理不同的数据。基准测试可在系统实际负载之外创造一些虚拟场景进行测试。基准测试可完成以下工作,甚至更多:
- 验证基于系统的一些假设,确认这些假设是否符合实际情况;
- 重现系统的某些异常行为,以解决这些异常;
- 测试系统当前的运行情况。如果不清楚系统当前的性能,就无法确认某些优化的效果如何。也可利用历史的基准测试来分析一些无法预测的问题。
- 模拟比当前系统更高的负载,以找出系统随着压力增加可能遇到的扩展性瓶颈。
- 规划未来的业务增长。基准测试可评估在项目未来负载下,需要什么样的硬件,需要多大的网络,以及其他相关资源。
- 测试应用适应可变环境的能力。如:随机并发下的峰值性能表现等。
- 测试不同的硬件、软件和操作系统配置的系统负载。如:SSD/机械硬盘、CPU 等。
- 证明新采购的设备是否配置正确。不要相信主机提供商和硬件供应商的所谓系统安装好了……
- 为应用创建单元测试套件。
我们只能进行大概的测试,来确定系统大致的余量有多少。