【问题标题】:Why it is recommended to run load test in non gui mode in jmeter为什么建议在 jmeter 中以非 gui 模式运行负载测试
【发布时间】:2021-04-19 16:36:55
【问题描述】:

我正在监控在 GUI 模式下运行时从 jmeter 机器连接的连接时间和延迟,这在可接受的范围内。

即使我可以使用 GUI 模式执行负载测试,我们是否应该严格遵循非 GUI 模式?

我的目标是 250 TPS,并且能够实现这一目标。我增加了内存并监控 CPU,负载生成器的内存低于 60%。

我应该选择非 GUI 模式吗?

【问题讨论】:

    标签: jmeter load-testing


    【解决方案1】:

    主要限制是queue 中的每个事件都由单个事件调度线程处理,该线程将充当 JMeter 端的bottleneck

    我的期望是你的“250 TPS”看起来像:

    它应该看起来像:

    因此,使用 Transactions per Second 侦听器(可通过 JMeter Plugins Manager 安装)检查您的负载模式如何

    同时检查您的 JVM 的外观,尤其是当涉及到 garbage collection 时,可以通过 JVisualVM 完成,很可能您会看到相同的“电锯”模式

    【讨论】:

      【解决方案2】:

      你不需要关注JMeter best practices但是

      您可能会遇到实现特定目标(如 TPS)的问题

      • 您的机器无法执行 GUI 或资源不足

      • 您使用脚本或构建工具作为 Jenkins 执行 JMeter

      另外,最好熟悉 JMeter CLI(非 GUI)及其report capabilities

      JMeter 支持仪表板报告生成以从测试计划中获取图表和统计数据。

      使用分布式测试也需要它

      考虑使用分布式模式(或不使用)在多台机器上运行多个 CLI JMeter 实例

      CLI 对于Parameterising tests 也很有用

      然后可以在 JMeter 命令行上定义“循环”属性:

      jmeter … -Jloops=12
      

      【讨论】:

      • 但是我能够在 GUI 模式下实现我的目标 TPS。我对 CLI 模式报告不感兴趣。我想了解在 gui 模式下运行时可能出现的其他限制
      • @Mani 目前可以,没关系,但是当你添加更多请求后,更多的 TPS 你会达到比非 GUI 模式下限,还有一些计算机不能执行 GUI 模式,你可以'每次执行都很难使用 JMeter 属性
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-17
      相关资源
      最近更新 更多