负载测试:思考时间、节奏和延迟



性能测试中的思考时间是什么?

负载测试中的思考时间指的是性能测试中模拟的连续用户操作之间的延迟或暂停。它代表用户在完成一个操作后、发起下一个操作之前所花费的思考、阅读或其他非活动的时间。思考时间被引入测试场景,使其更真实,模拟实际用户与应用交互的自然行为。

例如,考虑一个电子商务网页应用场景,用户选择一个产品图块。接着,他们导航到产品展示页面,花一些时间浏览和阅读该页面内容,最后点击“加入购物车”按钮。从点击产品图块到点击“加入购物车”之间的时间即称为思考时间。

当人们想到负载测试时,通常会想象大量用户同时冲击网站或API。虽然这是测试的一部分,但思考时间同样重要。它帮助模拟真实的用户旅程,如浏览产品、登录账户或完成购买。每个操作都有其自然的暂停,将这些纳入测试能够确保应用为真实用户行为做好准备。

思考时间的优势

  • 真实性:包含思考时间能复制用户非连续交互的自然行为,提升负载测试场景的真实性,更贴近实际用户体验。
  • 用户模拟准确性:思考时间有助于准确模拟测试过程中的用户行为。用户通常会花时间阅读内容、做决定或思考操作,思考时间允许模拟这些自然的暂停。
  • 性能:思考时间释放执行服务器机器上的资源,用于请求间隙。这使执行服务器上的其他虚拟用户(VU)能够发送请求,避免执行服务器机器出现I/O瓶颈。
  • 改进故障排查:真实的思考时间场景有助于检测无暂停场景下难以察觉的性能瓶颈,帮助发现与用户会话、会话管理及系统响应性相关的问题。

何时使用思考时间

在负载测试中加入思考时间可能较难,因为每个用户行为不同。但好在思考时间是灵活的,你需要考虑一个时间范围。例如,有的用户阅读或填写表单的时间会较长。

你应在这些操作间加入思考时间,更准确地模拟用户从服务器接收响应到请求新页面之间的时间。思考时间取决于用户场景,应使用网站或应用的数据确定思考时间范围。你要确定用户在页面上的中位停留时间。

 

性能测试中的节奏控制是什么?

节奏控制用于负载测试,确保测试以预定的每秒事务数进行。它是业务流程每个完整迭代之间的时间间隔,有助于调控每秒发送到服务器的请求数量。

 

在负载测试中引入延迟的重要性

在应用广泛发布前测试其性能,有助于防止最终用户遇到超时、页面响应慢和停机等问题。为了确保测试结果真实并发现潜在问题,设计测试场景时必须包含思考时间和节奏控制。

例如,当我们在每个并发用户操作之间引入思考时间,服务器利用这段延迟处理队列中的待处理任务。它先执行下一任务,再返回处理上一个任务。这很贴合真实用户的生产环境场景。此外,加入思考时间延长用户在应用上的停留时间,能暴露服务器处理多用户并发能力相关的问题。

计算应用测试中的延迟

每个应用的并发虚拟用户数、延迟和每秒事务数(TPS)都不同。你可以使用以下公式计算应用所需的延迟时间:

  • 负载测试时长(秒) *(TPS + 延迟)* 并发用户数 = 总事务数

例如,假设要在10分钟(600秒)测试中生成100,000次事务,每次响应时间为5秒,要求3秒思考时间。则并发用户数为 100,000 / (8 * 10 * 60),约21人。这种计算方法有助于确定有效负载测试所需的延迟和用户数。

使用 LoadView 设置负载测试延迟

LoadView 提供 EveryStep Web Recorder,通过在浏览器中录制用户操作简化测试场景的创建。它忠实复现用户步骤,捕获选择器、动作和延迟等数据点。在创建测试场景时,务必模拟真实用户旅程,包括思考时间延迟。录制完成后,工具生成可运行的脚本,允许指定并发用户数重复执行。脚本可定制,用户可根据测试需求修改单步延迟,如下图所示。了解更多关于编辑 EveryStep Web Recorder 脚本的方法

实现精确负载测试的最佳方法是创建模拟真实用户与应用交互并捕获用户旅程的脚本。

Add Delays to Script

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

Adjust User Behavior

总结:思考时间、节奏控制与延迟

在应用投入生产前进行性能测试至关重要。准确识别性能问题的关键在于遵循最佳实践,设计涵盖应用内真实用户行为的测试场景。

本文探讨了思考时间、节奏控制和延迟在负载测试中的重要性。将这些元素纳入负载测试设计,可以提前发现页面超时、响应缓慢、响应时间差异和服务器错误等问题,即使在高负载下也是如此。采用这些策略,有助于开发响应迅速、可靠的应用和网站。LoadView 帮助简化这一过程,你可以轻松在负载测试场景中集成思考时间、节奏控制和延迟,从而最大化测试效果。立即注册 LoadView,即刻享受平台提供的所有负载测试优势,并可免费进行初次测试!

将您的并发用户测试提升到
新水平

体验无与伦比的功能和无限的可扩展性。无需信用卡,无需合同。