响应时间测试 – 如何测量 API 响应时间?
什么是响应时间测试?
响应时间测试测量一个系统节点响应另一个系统节点请求所需的时间。它是系统从接收到特定输入到处理完成所需的时间。例如,您有一个 API,您想知道它执行并返回 JSON 格式数据所需的确切时间。响应时间测量每个事务或查询的服务器响应时间。
响应时间从用户发送请求开始,到应用程序表示请求已完成时结束。
如何测量响应时间?
为了测量响应时间,我们可以使用测试工具,通过用开始和结束事务来围绕一个重要的业务流程。业务流程可以是用户在应用程序中执行的一个或一组操作,以完成一个业务任务,例如登录应用程序或在 Amazon.com 上购买一本书。

对于测量 API 响应时间的相同过程,不同工具的响应会有细微差别。原因如下:
- 步骤 1) 各个 API 响应时间测试工具收集指标的计算方法
- 步骤 2) 工具模拟负载和捕获速度,这可能会对响应时间产生影响
- 步骤 3) 监控用户负载时记录的额外项目
- 步骤 4) 计算每个工具收集的指标会因为高资源消耗而增加响应时间。
- 步骤 5) 两种工具的架构可能不同
响应指标类型
响应时间指标 | 解释 |
---|---|
平均响应时间 | 平均响应时间是每个往返请求所需的平均时间。平均响应时间包括 HTML、CSS、XML、图像、JavaScript 文件等的加载时间。因此,当系统中存在慢速组件时,平均值会受到影响。 |
峰值响应时间 | 峰值响应时间有助于我们发现潜在的问题组件。它有助于我们发现网站或系统中所有处理不正确的请求异常情况。例如,可能执行了一个大型数据库查询,这会影响响应时间。此查询不允许页面在所需时间内加载。 |
错误率 | 错误率是一个数学计算,它显示问题请求占所有请求的百分比。此百分比计算所有显示服务器错误的 HTTP 状态码。它也计算超时的请求。 |
三个重要的响应时间值
响应时间测试有两个最重要的特性
- 平均响应时间。
- 最大响应时间。
它显示了用户需要等待服务器响应其请求的时间。
以下是关键响应时间测试示例值
响应时间 | 重要性 |
---|---|
0.1 秒 | 这是最受欢迎的响应时间。如果响应时间为 0.1 秒,用户总是感觉应用程序或系统即时响应,并且不会感到任何中断。 |
1.0 秒 | 这被定义为可接受响应时间的最大限制。用户不太可能感到任何中断,尽管他们可能会经历一些延迟。超过 1 秒的响应时间可能会中断用户体验。 |
10 秒 | 这是响应时间超出可接受限制后的最大限制。然而,在当今时代,如果响应时间超过 6 秒,用户将离开该网站或退出应用程序。 |
通常,响应时间应尽可能快,在 0.1 - 1 秒的间隔内。然而,人们可以适应较慢的响应时间,但他们永远不会对超过 2 秒的响应时间感到满意。响应时间越短,客户满意度越高,成本越低,客户满意度越高。
响应时间测试工具
市场上有许多响应时间测试工具。三个最突出的响应时间测试工具示例如下:
1) JMeter
Apache JMeter 是一个开源的负载测试工具。它旨在测量网站的性能。此负载测试工具可用于 DevOps 方法。
功能
- JMeter 允许对各种服务器类型执行负载和性能测试。
- 此负载测试工具以 XML 格式存储其测试计划,这允许用户使用文本编辑器生成测试计划。
- 该工具可用于对应用程序执行自动化和功能测试。
下载链接: http://jmeter.apache.org/download_jmeter.cgi
2) LoadRunner
Micro Focus 的 LoadRunner 是一个广泛使用的负载测试工具。它是 JMeter 的最佳替代品之一,提供用户友好的监控和分析界面,带有彩色图表和图形。
功能
- 支持持续测试
- LoadRunner 可以在多个企业环境中有效工作
- 可以使用 LoadRunner 运行多个协议脚本
- 与各种开发工具集成,例如 Visual Studio、Jenkins、Selenium 等。
下载链接: https://software.microfocus.com/en-us/products/loadrunner-load-testing/overview
结论
- 响应时间是指一个系统节点响应另一个系统节点请求所需的时间。
- 性能测试中的平均响应时间是每个往返请求所需的平均时间。
- 峰值响应时间有助于我们发现哪些组件可能存在问题。
- 错误率是一个数学计算,显示问题请求的百分比。
- 三个重要的响应时间值是:0.1 秒、1.0 秒和 10 秒。
- 三个最常用的响应时间测试工具是 JMeter 和 LoadRunner。