Java 用于在高负载(500kb及以上)下对Http请求进行负载测试的工具

Java 用于在高负载(500kb及以上)下对Http请求进行负载测试的工具,java,performance,http,jmeter,load-testing,Java,Performance,Http,Jmeter,Load Testing,我想用高负载http请求对我的应用程序进行负载测试 面临的问题:- 1) 当我将如此高的有效负载放入Jmeter时,它会挂起。 2) ApacheBenchmarkAB-Script:-ab-c1-n1-v4-t80000-pPayload.json-r localhost:8080/Scheduler rest/schedule 我不知道为什么它会发送无限数量的请求来获取c和n的任何值。 3) 邮递员客户端:-我用它发送一个或两个请求,但邮递员不接受如此高的负载 那么有人能提出一些建议吗 谢谢

我想用高负载http请求对我的应用程序进行负载测试
面临的问题:-
1) 当我将如此高的有效负载放入Jmeter时,它会挂起。

2) ApacheBenchmarkAB-Script:-
ab-c1-n1-v4-t80000-pPayload.json-r localhost:8080/Scheduler rest/schedule
我不知道为什么它会发送无限数量的请求来获取c和n的任何值。

3) 邮递员客户端:-我用它发送一个或两个请求,但邮递员不接受如此高的负载

那么有人能提出一些建议吗


谢谢

您可以使用Blazemeter或Neoload工具来运行这些繁重的测试场景。 在Blazemeter中,您可以指定具有用户分布和目标站点的节点数。这同样会在目标站点上产生负载

类似的事情也可以通过新加载来完成。 这两种方法的缺点都是对每个用户收取一定数量的用户费用


如果您有自己的一组机器,也可以使用分布式Jmeter客户端

JMeter应该能够每秒发送不少于其他工具的请求,但是您需要:

  • 在非GUI模式下运行它
  • 删除所有侦听器
  • 调整默认JVM堆和垃圾收集设置
  • 当一个主实例控制多个从机时,可以在分布式模式下运行JMeter
  • 有关详细说明,请参阅以下参考资料:


    我可以推荐Yandex坦克配备幻影负载发生器(是一款用C++编写的速度非常快(10万RPS以上)的射手)。 您可以在这里找到的一切:

    我们已经成功地使用GUI模式本身从1台pc(双核2GB ram)上同时运行300个线程来运行Jmeter

    应用程序的响应总是有延迟的可能,这将使jmeter的线程等待并挂起。最好一步一步走(我已经给出了windows pc的一般步骤,你可能会发现其他操作系统也有类似的步骤)

  • 尝试按照dmitri的指示调整JVM堆和垃圾设置
  • 调整TCP参数(如果使用远程Web服务器,还需要对其进行调优)。(windows 7中提供TCP自动调谐)
  • 检查网络适配器设置(双工)
  • 检查webserver中的数据源设置是否足以处理传入的负载
  • 一步一步地进行(用10,501002003螺纹逐个测试)
  • 不要在负载测试中使用响应断言(使用它们来检查您的脚本在intail测试中是否表现良好,但对于实际负载测试,不推荐使用)
  • 在优化所有层之后,仍然存在问题(或)要尝试更多用户,请使用非GUI模式/分布式模式

  • 我的2美分-如果不调整测试环境,任何工具都很难给出响应。

    您是否尝试过使用在不同机器上运行的多个JMeter客户端进行相同的测试?不,我没有尝试过这种方法。我认为应该可以。因为我不确定您使用的是哪种负载以及如何创建/添加负载到请求,所以建议您选择分布式JMeter客户端。先试试,如果它能解决问题就足够了。