高通量Jmeter和AWS

时间:2018-09-18 16:21:28

标签: jmeter

我目前在尝试使用AWS上的Jmeter达到良好的吞吐量数字时遇到问题。目前,我已经使用4个 t3.large 实例(一个主节点,三个从节点)进行了分布式负载测试,到目前为止,我已经启动了这些测试,我每秒收到的HTTP请求不能超过60个。我只有2个从属和一个具有250个线程组(即250 * 2)的测试计划,达到了这个数字。然后,我在测试计划中对500个线程组进行了测试,无法获得更高的吞吐量。因此,我添加了一个附加的从属服务器,并将线程组的数量减少到334(334 * 3),并且无法获得比第一个测试更高的吞吐量数字。在整个测试中,循环计数和加速时间保持不变。

我无法共享我正在使用的测试计划,但基本上是登陆页面 + 登录 + 登录后导航的记录Blazemeter Chrome插件。

运行测试时,为了避免内存错误,我一直在使用JVM_ARGS -Xms1024m -XX:NewSize = 512m -XX:MaxNewSize = 4096。

我希望能找到每秒300个HTTP请求或更多的东西。我在这里缺少什么吗?我的基础设施还不够吗?我应该在Jmeter中调整某些内容吗?

线程组:

      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
    <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
    <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" enabled="true">
      <boolProp name="LoopController.continue_forever">true</boolProp>
      <stringProp name="LoopController.loops">10</stringProp>
    </elementProp>
    <stringProp name="ThreadGroup.num_threads">334</stringProp>
    <stringProp name="ThreadGroup.ramp_time">1</stringProp>
    <longProp name="ThreadGroup.start_time">1363247040000</longProp>
    <longProp name="ThreadGroup.end_time">1363247040000</longProp>
    <boolProp name="ThreadGroup.scheduler">true</boolProp>
    <stringProp name="ThreadGroup.duration">0</stringProp>
    <stringProp name="ThreadGroup.delay">0</stringProp>
  </ThreadGroup>

1 个答案:

答案 0 :(得分:0)

最后,我似乎需要更强大的基础架构。我遵循以下文档中的准则:

https://flood.io/blog/how-to-run-one-million-users/

更改为xlarge AWS实例后,我能够获得所需的吞吐量。另外,令我惊讶的是,他们在上面的链接中引用的数字也与运行测试时看到的数字非常接近。