如何配置Jmeter进行1小时耐力测试?

问题描述

我们要求对 5000 个用户进行 1 小时的测试。

如何在 1 小时内在 jmeter 中配置 5000 个用户

解决方法

首先会尝试使用 single machine 是否可以实现这一点。

  1. 您需要提前创建用户或在创建之前创建用户 在 Setup Thread Group 内进行测试。
  2. 使用 5000 个用户的凭据创建一个 CSV 文件
  3. 使用 CSV Data Set config 元素从 CSV 文件中读取数据
  4. 将用户凭据传递给登录请求 ${username} ${password}
  5. 配置主线程组以运行测试一小时。线程 5000,加速时间 120 秒,持续时间 3720 秒

enter image description here

应该优化 JMeter 以运行大量用户。

  1. 仅将 JMeter 侦听器用于调试目的
  2. 在非 GUI 模式下运行 JMeter 性能测试
  3. 增加 JMeter 堆空间以产生更大的负载
  4. 在运行负载测试时使用 LAN 而不是 Wi-Fi 连接
  5. 以 CSV 格式保存测试结果并仅保存所需信息

如果您无法使用单个 JMeter 实例模拟 5000。您必须将用户分布到在不同客户端机器上运行的多个 JMeter 实例(JMeter 服务器/负载代理)。此外,您还可以在 Redline13Blazemeter 等云服务上从 JMeter 运行测试。

如果你有时间和可用的客户端机器,你可以去设置一个 JMeter 分布式测试环境。

JMeter 分布式测试:Step by Step

,

Thread Group 的相关配置类似于:

enter image description here

如果您在定义工作负载、上升、下降周期、保持负载的时间等方面遇到问题,您可能会发现 Custom Thread Groups 更易于使用,例如这里是Ultimate Thread Group

enter image description here

可以使用 JMeter Plugins Manager 安装这些自定义线程组:

enter image description here