目前,我遇到了一些问题,试图在AWS上使用Jmeter来达到良好的吞吐量。目前,我已经使用4个t3进行了分布式负载测试。大型实例(一个主实例,3个从实例),以及到目前为止启动的测试,每秒无法获得超过60个请求。我只使用两个从线程和一个有250个线程组的测试计划(所以250 * 2)就达到了这个数字。然后,我在测试计划中使用500个线程组进行了测试,无法获得更高的吞吐量。因此,我添加了一个额外的从线程,并将线程组的数量降低到334 (334 * 3),无法获得比第一次测试更高的吞吐量。在整个测试过程中,循环计数和提升时间保持不变。
我不能分享我正在使用的测试计划,但它基本上是一个登录页面+登录+导航的记录,登录后使用Blazemeter插件。
在运行测试时,为了避免内存错误,我一直使用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>发布于 2018-10-01 14:35:18
最后,我似乎需要更强大的基础设施。我遵循了以下文件中的指导方针:
https://flood.io/blog/how-to-run-one-million-users/
在切换到xlarge实例之后,我能够获得我想要的吞吐量。而且,我惊讶地发现,他们在上面的链接中引用的数字与我在运行测试时所看到的非常接近。
https://stackoverflow.com/questions/52390845
复制相似问题