在这个图中,定义了三条曲线、三个区域、两个点以及三个状态描述。三条曲线:吞吐量的曲线(紫色)、利用率(绿色)、响应时间曲线(深蓝色)。三个区域:轻负载区(Light Load)、重负载区(Heavy Load)、塌陷区(Buckle Zone)。两个点:最优并发用户数(The Optimum Number of Concurrent Users)、最大并发用户数(The Maximum Number of Concurrent Users)。三个状态描述:资源饱和(Resource Saturated)、吞吐下降(Throughput Falling)、用户受影响(End Users Effected)。
这个图中有一些地方可能与实际存在误差
- 很多时候,重负载区的资源饱和,和 TPS 达到最大值之间都不是在同样的并发用户数之下的.资源使用率达到饱和之后还有一段时间 TPS 才会达到上限。
- 响应时间:曲线都不会像图中画得这样陡峭,并且也不一定是在塌陷区突然上升,更可能的是在重负载区突然上升
- 吞吐量:曲线不一定会出现下降的情况,在有些控制较好的系统中会维持水平。
- 最优并发数:通常只是一种感觉,并没有绝对的数据用来证明。在生产运维的过程中,其实我们大部分人都会更为谨慎,不会定这个点为最优,并更靠前一些。
- 最大并发数:压力工具中的最大用户数或线程数和 TPS 之间的关系。在具体的项目实施中,有经验的性能测试人员,都会更关心服务端能处理的请求数即 TPS,而不是压力工具中的线程数。
场景定义解决多种性能测试混乱的概念: