1. 概览
Performance Testing 是软件开发的关键一环。Performance Testing 可以发现性能瓶颈和错误,并确保我们的应用能够响应用户请求。一个非常重要的方面是 Web 应用程序加载和响应用户操作所需的时间。
在本文中,我们将探讨两个可以帮助获取和改进加载时间问题的指标:Latency 和 Load Time。我们将了解这些指标是如何定义的,之间的区别是什么,以及如何使用性能工具 JMeter 来度量它们。
2. JMeter中的延迟和加载时间度量
在 JMeter 中,Latency 和 Load Time 都是衡量往返时间的指标。也就是说,它们都测量从客户端向服务器发送请求到收到响应的时间。但是,这两者之间有一个重要的区别。
Latency 被定义为从发送请求之前到接收到响应的第一部分之后的时间,而 Load Time 是从发送请求前到接收到最后一部分响应之后的时间。
对于这两个指标,JMeter 都包括组装请求所需的时间。Latency 还包括组装响应的第一部分所需的时间,Load Time 包括组装整个响应的时间。汇编不包括响应的呈现或任何客户端代码执行。
3. 如何获取 Latency 和 Load Time
我们可以通过创建一个 Test Plan,在其中发送 HTTP 请求并使用名为 View Results Tree 的 Listener 的来获取 JMeter 中请求的延迟和加载时间。
我们使用 JMeter 在打开时自动创建的 Test Plan,并其重命名LatencyVsLoadTime:
接下来创建一个 Thread Group,每个测试都是从设置 Thread Group 开始的。通过右键单击测 Test Plan,然后选择 Add -> Thread (Users) -> Thread Group:
然后右键单击 Thread Group 并选择 Add -> Sampler -> HTTP Request 来添加 HTTP 请求:
最后,我们需要添加一个 Listener 来监听请求的结果。通过右键单击 Thread Group 并选择Add -> Listener -> View Results Tree 来添加:
现在我们已经添加好了 Test Plan 的所有组件,接着我们来配置 HTTP Sampler。
为此,我们选择 HTTP 请求并将路径设置为要测试的 URL。对于我们的示例,选择www.baidu.com:
通过单击顶部栏中的磁盘图标保存测试计划后,就可以执行了。让我们选择 HTTP 请求并单击顶部栏中的绿色播放按钮:
最后,让我们通过选择 Sampler result 选项卡下的 View results Tree 元素来检查结果。在我们的示例中,LoadTime 为 593 ms,Latency为 584 ms:
4. 结论
在本文中,我们讨论了两个性能指标,Latency 和 Load Time,它们可以帮助获取请求加载时间问题并提高应用程序的可用性。
首先,我们在 JMeter 脚本的上下文中定义了度量标准,并详细说明了两者之间的区别。然后,我们看到了如何使用 HTTP 请求来配置 JMeter Test Plan,我们可以使用它来度量时间。最后,我们学习了如何执行测试计划并检查结果。
本文中创建的 JMeter 脚本可以在GitHub上找到。