| Author |
Stress testing JMS container
|
Pradeep bhatt
Ranch Hand
Joined: Feb 27, 2002
Posts: 8876
|
|
I am planning to stress test some JMS containers like Jboss messageing. Can you help me to list the test that should be carried out. Thanks, Pradip
|
Groovy
|
 |
Jaikiran Pai
Marshal
Joined: Jul 20, 2005
Posts: 8147
|
|
Just my thoughts: 1) Bombarding a queue/topic with large number of messages(in thousands) at a given time and checking whether each one of them is delivered to the listener. 2) Checking the number of resources used (may be number of threads spawned) when large number of messages are being delivered.
|
[My Blog] [JavaRanch Journal]
|
 |
Pradeep bhatt
Ranch Hand
Joined: Feb 27, 2002
Posts: 8876
|
|
2) Checking the number of resources used (may be number of threads spawned) when large number of messages are being delivered.
Is there any tool to detect the threads and memory used. An open source one.
|
 |
Jaikiran Pai
Marshal
Joined: Jul 20, 2005
Posts: 8147
|
|
If you are looking for a Open-Source profiler, then i have heard of JMP - Java Memory Profiler, but never used it. I have used JProfiler which has good features. JProfiler is not a open source, but does have a free evaluation copy. [ July 26, 2006: Message edited by: jaikiran pai ]
|
 |
Pradeep bhatt
Ranch Hand
Joined: Feb 27, 2002
Posts: 8876
|
|
|
Thanks. Can tools like Grinder help me ?
|
 |
Lasse Koskela
author
Sheriff
Joined: Jan 23, 2002
Posts: 11962
|
|
Originally posted by Pradip Bhat: Thanks. Can tools like Grinder help me ?
To some degree, yes.
|
Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
|
 |
Pradeep bhatt
Ranch Hand
Joined: Feb 27, 2002
Posts: 8876
|
|
When I try to send too many messages (10k) to the JBoss messaging, I get the following exception. The Jprofiler shows that the maximum heap size has not been reached. I am using Oracle 9i as my persistent data store. The problem has been noticed even when using default Hypersonic database.
org.jboss.aop.NotFoundInDispatcherException: Object with oid: -2147483596 was not found in the Dispatcher at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:85) at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:126) at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:842) at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:691) at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:443) at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:530) at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:253) at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:163) at org.jboss.remoting.Client.invoke(Client.java:610) at org.jboss.remoting.Client.invoke(Client.java:602) .....
|
 |
Jaikiran Pai
Marshal
Joined: Jul 20, 2005
Posts: 8147
|
|
|
This looks similar to the post in JBossMessaging forum. It's a lengthy discussion there, but looks similar. Have a look.
|
 |
Pradeep bhatt
Ranch Hand
Joined: Feb 27, 2002
Posts: 8876
|
|
Thanks jaikiran. The problem seems to be because JBoss app server was running out of memory. Strange that I did not see any java.lang.OutofMemoryError. One more issue. After finishing delivering messages to all durable subsribers I have noticed that JBOSS does not remove the messages from the database. I am using the default timeout. I am not wrong, once the JMS provider finishes delivering messages to all subscribers it is supposed to remove the messages from the datastore even if it is default timeout (= for ever). Otherwise datastore will simply grow big.
|
 |
Pradeep bhatt
Ranch Hand
Joined: Feb 27, 2002
Posts: 8876
|
|
|
Has anyone done a performance comparison between JBoss Messaging and ActiveMQ
|
 |
 |
|
|
subject: Stress testing JMS container
|
|
|