基准测试是什么

基准测试(benchmark)是针对系统设计的一种压力测试。通常目标是为了掌握系统的行为,也有为了重现某个系统状态,或者对新硬件做可靠性测试。

为什么需要基准测试

基准测试是唯一方便有效的、可以学习系统在给定的工作负载下会发生什么的方法。基准测试可观察系统在不同压力下的行为,评估系统的容量,掌握哪些是重要的变化,或者观察系统如何从护理不同的数据。基准测试可在系统实际负载之外创造一些虚拟场景进行测试。基准测试可完成以下工作,甚至更多:

  • 验证基于系统的一些假设,确认这些假设是否符合实际情况;
  • 重现系统的某些异常行为,以解决这些异常;
  • 测试系统当前的运行情况。如果不清楚系统当前的性能,就无法确认某些优化的效果如何。也可利用历史的基准测试来分析一些无法预测的问题。
  • 模拟比当前系统更高的负载,以找出系统随着压力增加可能遇到的扩展性瓶颈。
  • 规划未来的业务增长。基准测试可评估在项目未来负载下,需要什么样的硬件,需要多大的网络,以及其他相关资源。
  • 测试应用适应可变环境的能力。如:随机并发下的峰值性能表现等。
  • 测试不同的硬件、软件和操作系统配置的系统负载。如:SSD/机械硬盘、CPU 等。
  • 证明新采购的设备是否配置正确。不要相信主机提供商和硬件供应商的所谓系统安装好了……
  • 为应用创建单元测试套件。

我们只能进行大概的测试,来确定系统大致的余量有多少。