【问题标题】:Counting number of requests per second generated by JMeter client计算 JMeter 客户端每秒生成的请求数
【发布时间】:2016-01-28 11:39:01
【问题描述】:

这就是应用程序设置的方式 -

  • 2 个 c4.8xlarge 实例
  • 10 个 m4.4xlarge jmeter 客户端生成负载。每个客户端使用 70 个线程

在对简单的 GET 请求(685 字节大小的页面)进行负载测试时。经过一段时间的测试运行后,我遇到了吞吐量降低的问题。使用 700 个线程达到约 18000 个请求/秒的吞吐量,在此水平上保持 40 分钟,然后下降。在整个测试过程中,线程数保持 700。我用不同的负载模式执行了测试,但结果是一样的。

整个测试过程中应用程序的响应时间相当短 -

根据 ELB 监视器,请求数量减少(我想因此吞吐量较低) -

在测试运行期间没有遇到任何错误。我还使用 http 请求设置了连接超时,但没有错误。

我与 aws 支持人员详细讨论了这个问题,根据他们的说法,我在测试执行期间没有受到任何网络限制的阻碍。

给定的线程数在测试运行期间保持不变,这些线程在做什么?是否有一个指标可以让我查看 JMeter 客户端实例生成的请求数(不是 Hits/sec)?

测试计划 - http://justpaste.it/qyb0

【问题讨论】:

  • 你能发送共享 JMX 文件吗?至少设置。你让它永远循环吗?
  • 我没有循环,用测试计划的链接更新了我的问题
  • 您是否检查过常见的系统问题,例如jmeter 自己的内存大小(即,它可能花费更多时间进行 GC 而不是应该的)。第二个常见问题是当 JMeter 耗尽端口的速度比 TIME_WAIT 后可用端口的速度快(因此减少 TIME_WAIT 并增加可用端口的数量会有所帮助)。第二个问题也可能适用于服务器端。
  • 我还会尝试查看是否有一半的 jmeter 产生一半的负载(即,如果 1 jmeter 的吞吐量保持不变,则问题可能出在服务器端;如果减少一半,比在 jmeter 上)。
  • 因为我没有得到 java.net.BindException 可能的端口不是问题。

标签: amazon-web-services jmeter


【解决方案1】:

尝试添加以下测试元素:

【讨论】:

  • HTTP 缓存管理器和 DNS 缓存管理器已就位。我更新了带有测试计划链接的问题
  • 我也在没有 ELB 的情况下进行了测试,结果显示在测试运行一段时间后吞吐量下降的模式相同
猜你喜欢
  • 1970-01-01
  • 2016-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-16
  • 1970-01-01
  • 2016-10-04
相关资源
最近更新 更多