我最近一直在研究WSO2 Message Broker
(Ver:3.1.0),以便使用JMeter
作为jms客户端发布和使用消息。所以我有我的发布者Java程序,我正在发布消息,我试图每秒发布4000条消息。如有必要,我可以提供片段。
我通过在无头模式下运行JMeter
命令jmeter -n -t C:\Users\ctsadmin\Downloads\wso2MB\apache-jmeter-2.13\bin\GamesSubscriber.jmx -l C:\Users\ctsadmin\Downloads\wso2MB\apache-jmeter-2.13\bin\mytest_results.jtl
来消费这些消息。我保持VisualVm
窗口打开,以查看测试的内存消耗。在前15分钟,根据下面的图像,发布和消费已经确定,但之后,VisualVm
突然显示出炒作并且内存耗尽。我附上了下面VisualVM
的屏幕截图。
我也使用heap dump
检查了WSO2 MB
的{{1}}。附上了它的截图。
可能是什么问题?我应该做出哪些改变?像增加JProfiler
大小的东西?任何帮助都会受到重视。
编辑:我hereby附加了日志文件和堆转储。
答案 0 :(得分:5)
增加堆大小
是要走的路。但你还必须检查如何进行分发测试;因为12000是一个很大的考验,不能只在一台机器上运行;这不是一个好习惯。
http://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.pdf