我正在尝试对AMQ 5.5.1进行一些压力测试。
我创建了一个队列并使用Jmeter点对点将JMS请求发送到队列。请注意,我没有配置任何消费者,所以消息只是堆积起来并实际存储在KahaDB商店中
我注意到如果我在Thread组中使用了200个用户 - 它在ActiveMQ上创建了400个线程,我可以通过jconsole看到它。
Jmeter缓慢(实际上非常快)继续将消息推送到队列,因为我可以看到队列大小逐渐增加,并且不会一次性完成。
我使用ProducerFlowControl作为false并使用默认的混合存储游标(虽然我目前没有现成的消费者)。
我也在使用Persistent Delivery。
我的问题是:
什么限制Jmeter一次性推送所有200条消息?是ActiveMQ还是我需要在jmeter中配置一些能够一次发送200的东西。我确实注意到,一旦我开始在Jmeter上进行测试,就会在ActiveMQ上创建400个线程,这让我觉得它可以为200个用户使用activemq一次性建立连接但是消息是分批推送但不能一起推送。
< / LI>为什么activemq上每个使用者有2个线程?为什么所有线程都保持活动状态,直到所有消息都被推送。理想情况下,如果用户一旦这样做就一个接一个地推送消息并得到确认,那么它应该已经消失了。但是当所有消息最终被推送时,所有200个X 2线程同时死亡。
感谢任何帮助。