负载测试:思考时间、起搏和延迟
什么是性能测试中的思考时间?
负载测试中的思考时间是指性能测试期间连续用户操作之间的模拟延迟或暂停。 它表示用户在完成一个操作后和启动下一个操作之前花在思考、阅读或以其他方式处于非活动状态上的时间。 在测试场景中引入思考时间,使其更加逼真,并模仿实际用户与应用程序交互的自然行为。
例如,考虑用户选择产品磁贴的电子商务 Web 应用方案。 接下来,他们导航到产品显示页面,并花一些时间来消费和阅读该页面上的内容,然后最终单击“添加到购物车”按钮。 从单击产品磁贴到单击“添加到购物车”之间经过的持续时间称为思考时间。
当人们想到负载测试时,他们通常会想象大量用户同时轰炸一个网站或 API。虽然这是故事的一部分,但思考时间同样重要。它有助于模拟实际的用户旅程,例如浏览产品、登录帐户或完成购买。每个操作都有其自己的自然暂停,将这些因素纳入测试中可确保您的应用程序为实际用户行为做好准备。
Think Time的优势
- 现实主义: 包括思考时间复制了不与系统连续交互的用户的自然行为。 这增强了负载测试方案的真实性,使其更能反映实际用户体验。
- 用户模拟精度: 思考时间有助于在测试过程中准确模拟用户行为。 用户通常会花时间阅读内容、做出决定或考虑行动,并认为时间可以模拟这些自然停顿。
- 性能: Think Time 在请求之间释放 Execution Server 机器上的资源。 这使 Execution Server 上的其他虚拟用户 (VU) 能够发送其请求,从而防止 Execution Server 机器遇到 I/O 约束。
- 改进的故障排除: 现实的思考时间方案有助于检测性能瓶颈,这些瓶颈在没有暂停的方案中可能并不明显。 它有助于发现与用户会话、会话管理和整体系统响应能力相关的问题。
何时使用 Think Times
在负载测试中加入思考时间可能很困难,因为每个用户都是不同的。 从好的方面来说,思考时间可以是灵活的,你需要考虑你的思考时间值的范围。 例如,某些用户读取数据或将数据输入表单的时间可能比其他用户更长。
您需要在这些操作之间加入思考时间,以复制用户从您的服务器更准确地收到响应的时间长度到该用户请求新页面的时间长度。 你的思考时间将取决于你的用户方案,你应使用来自网站或应用程序的数据来确定你的思考时间值范围。 您需要确定用户在您的网页上花费的时间中位数。
什么是性能测试中的节奏?
在负载测试中使用起搏,以确保以预期的每秒事务速率进行测试。 它是业务流的每次完整迭代之间的时间间隔。 这有助于调节每秒发送到服务器的请求数。
在负载测试中引入延迟的重要性
在广泛发布之前测试应用程序的性能有助于防止给最终用户带来潜在的不便,例如超时、页面响应缓慢和停机。 为了确保真实的测试结果并发现任何问题,将思考时间和节奏纳入我们的测试场景设计至关重要。
例如,当我们在每个并发用户操作之间引入思考时间时,服务器会利用此延迟来处理队列中的待处理任务。 它会在重新访问上一个任务之前执行下一个任务。 这与真实用户的典型生产场景非常相似。 此外,合并思考时间可以延长用户在应用程序上花费的时间,从而揭示与服务器有效处理并发用户的能力相关的任何问题。
计算测试应用程序的延迟
并发虚拟用户数、延迟数和每秒事务数 (TPS) 因应用程序而异。 要计算应用程序的延迟值,可以使用以下公式:
- 负载测试持续时间(以秒为单位) * (TPS + 延迟) * 并发用户计数 = 总事务
例如,让我们考虑在 10 分钟(600 秒)的测试中生成 100,000 个事务,每个事务的响应时间为 5 秒。 要确定具有 3 秒思考时间所需的并发用户,请使用公式:100,000 / (8 * 10 * 60),结果大约有 21 个用户。 此方法有助于确定有效负载测试所需的延迟和用户计数。
使用 LoadView 设置负载测试延迟
LoadView 为您提供了 EveryStep Web Recorder,它通过在浏览器中记录用户操作来简化测试方案的创建。 它忠实地复制了用户的步骤,捕获了选择器、操作和延迟等数据点。 在创建测试方案期间,必须模拟真实的用户旅程,包括思考时间延迟。 录制后,该工具会生成一个脚本,该脚本可以使用指定数量的并发用户重新运行。 该脚本是可自定义的,允许用户根据测试需要修改和更新各个步骤的延迟,如下图所示。 进一步探索如何编辑每个步骤 Web 记录器脚本。
在负载测试中获得精确结果的最佳方法是创建一个脚本,该脚本模拟真实用户与应用程序的交互并捕获用户旅程。

使用 LoadView,还可以选择在负载测试时修改用户行为。 如下图所示,您可以选择“正常延迟”或“自定义延迟”来为应用程序设置特定的用户行为和延迟。

结论:考虑时间、节奏和延迟
在将应用程序部署到生产环境之前,对应用程序进行性能测试至关重要。 此过程在识别准确的性能相关问题方面的有效性取决于遵循最佳实践和开发包含应用程序中实际用户操作的测试方案。
本文探讨了思考时间、节奏和延迟在负载测试中的重要性。 通过将这些元素合并到负载测试设计中,即使在高负载下,也可以提前检测到页面超时、页面响应缓慢、响应时间差异和服务器错误等问题。 采用这些策略有助于开发响应迅速且可靠的应用程序和网站。 LoadView 可以帮助简化此过程,你可以轻松地将思考时间、节奏和延迟合并到负载测试方案中,以充分利用测试工作。 当您 立即注册 LoadView 时,您将获得该平台必须提供的所有负载测试优势,并且您可以免费进行第一次初始测试!
一个新的水平
体验无与伦比的功能,具有无限的可扩展性。 没有信用卡,没有合同。