Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Stress testing JMS container

 
Pradeep bhatt
Ranch Hand
Posts: 8927
Firefox Browser Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
Jaikiran Pai
Marshal
Pie
Posts: 10447
227
IntelliJ IDE Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Pradeep bhatt
Ranch Hand
Posts: 8927
Firefox Browser Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Pie
Posts: 10447
227
IntelliJ IDE Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 8927
Firefox Browser Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks. Can tools like Grinder help me ?
 
Lasse Koskela
author
Sheriff
Posts: 11962
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Pradip Bhat:
Thanks. Can tools like Grinder help me ?

To some degree, yes.
 
Pradeep bhatt
Ranch Hand
Posts: 8927
Firefox Browser Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Pie
Posts: 10447
227
IntelliJ IDE Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 8927
Firefox Browser Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 8927
Firefox Browser Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Has anyone done a performance comparison between JBoss Messaging and ActiveMQ
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic