使用 jMeter 给 Spartacus SSR 发送 100 个并发的 SSR 请求,全部被 SSR 响应了
平均响应时间 15 秒左右。Spartacus 使用的渲染策略:RenderingStrategy.ALWAYS_SSR
关于上图jMeter中Sample Time和Latency这两个关键性能指标,以及它们在测试结果中的作用:
1. Sample Time(样本时间):
Sample Time
表示从请求发送到接收完所有响应数据所经过的总时间,以毫秒为单位。它包括了以下几个方面的时间:
-
请求的发送时间(Connect Time): 从开始发送请求到服务器建立连接所用的时间。
-
服务器处理时间(Processing Time): 服务器处理请求并生成响应的时间。
-
响应数据传输时间(Data Transfer Time): 从服务器将响应数据发送到客户端的时间。
-
等待时间(Waiting Time): 客户端发送请求后等待服务器响应的时间。
Sample Time
给出了一个完整的请求-响应周期所花费的总时间。这是一个综合性的指标,可以帮助你了解整个操作所需的总时间。
例如,如果你在进行一个Web页面的性能测试,Sample Time
将包括从点击链接到页面完全加载完成的整个过程。
2. Latency(延迟):
Latency
表示从请求发送到开始接收响应的时间,同样以毫秒为单位。它主要关注的是请求的启动和响应的接收之间的时间间隔,不考虑数据的传输时间。
Latency
主要包括以下两个方面的时间:
-
服务器响应时间(Server Response Time): 从请求到服务器接收到请求并开始处理的时间。
-
网络传输延迟(Network Latency): 请求从客户端到服务器以及响应从服务器到客户端的时间。
Latency
提供了一个更专注于网络和服务器响应的视角,它反映了在真实网络环境中的性能表现。
例如,如果你在测试API的响应时间,Latency
将更侧重于服务器处理请求和网络传输所花费的时间,而不受数据传输时间的影响。
举例说明:
假设我们有一个简单的Web应用性能测试,其中包括一个首页请求。在jMeter的测试结果表格中,某次采样的数据如下:
-
Sample Time
:1200 ms -
Latency
:300 ms
这表示整个请求-响应周期花费了1200毫秒,其中有300毫秒用于启动请求并等待服务器响应。剩余的时间(900毫秒)主要用于数据传输,包括服务器处理和响应数据传输的时间。
如果我们只关注网络延迟和服务器响应的性能,我们可以看到 Latency
是300毫秒。这个值告诉我们,在这个特定的请求中,300毫秒是从请求发送到服务器响应开始的时间。而 Sample Time
的总值则包括了整个过程,包括数据传输的时间。
综上所述,Sample Time
和 Latency
提供了对应用程序性能的不同视角,Sample Time
是一个更全面的指标,而 Latency
更关注于请求启动到响应开始的时间间隔,着重于网络延迟和服务器响应的性能。在实际的性能测试和分析中,这两个指标通常结合起来使用,以全面评估系统的性能表现。
- 点赞
- 收藏
- 关注作者
评论(0)