[jboss-user] [Performance Tuning] New message: "JMS Message Queueing bottleneck"

Sudarshan Sharma do-not-reply at jboss.com
Tue Mar 2 07:14:10 EST 2010


User development,

A new message was posted in the thread "JMS Message Queueing bottleneck":

http://community.jboss.org/message/529324#529324

Author  : Sudarshan Sharma
Profile : http://community.jboss.org/people/sks4jboss

Message:
--------------------------------------------------------------

We are using jboss-4.0.2. I have around 1500 queues into my application. There are seperate threads for each queues. All thread dumps have the usual pattern that most of threads are waiting for the following lock.  Even the threads that work on seperate Queues have to wait for the same lock. Is there anyway, I can prevent this locking/bottleneck ? Atleast it will be great if  threads working on different queues don't have to wait for the same lock. Application will then be able to scale well.
 
 
"MessageProcessor1" prio=5 tid=0x03ea7a38 nid=0xee4 waiting for monitor entry [4fdde000..4fddfc30]
    at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getPool(JBossManagedConnectionPool.java:660)
    - waiting to lock <*0xb5c6d410*> (a java.util.HashMap)
    at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:514)
    at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:395)
    at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:297)
    at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:447)
    at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:874)
    at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:103)
    at org.jboss.mq.pm.jdbc2.PersistenceManager.getConnection(PersistenceManager.java:1368)
    at org.jboss.mq.pm.jdbc2.PersistenceManager.loadFromStorage(PersistenceManager.java:1176)
    at org.jboss.mq.server.MessageCache.loadFromStorage(MessageCache.java:402)
    at org.jboss.mq.server.MessageReference.makeHard(MessageReference.java:350)
    - locked <0xd8cc50c8> (a org.jboss.mq.server.MessageReference)
    at org.jboss.mq.server.MessageReference.getMessage(MessageReference.java:155)
    - locked <0xd8cc50c8> (a org.jboss.mq.server.MessageReference)
    at org.jboss.mq.server.MessageReference.getHeaders(MessageReference.java:248)
    at org.jboss.mq.server.BasicQueue.receive(BasicQueue.java:508)
    - locked <0xc239efd0> (a java.lang.Object)
    - locked <0xc239f000> (a org.jboss.mq.server.ReceiversImpl)
    at org.jboss.mq.server.JMSQueue.receive(JMSQueue.java:136)
    at org.jboss.mq.server.ClientConsumer.receive(ClientConsumer.java:222)
    at org.jboss.mq.server.JMSDestinationManager.receive(JMSDestinationManager.java:656)
    at org.jboss.mq.server.JMSServerInterceptorSupport.receive(JMSServerInterceptorSupport.java:226)
    at org.jboss.mq.security.ServerSecurityInterceptor.receive(ServerSecurityInterceptor.java:100)
    at org.jboss.mq.server.TracingInterceptor.receive(TracingInterceptor.java:570)
    at org.jboss.mq.server.JMSServerInvoker.receive(JMSServerInvoker.java:226)
    at org.jboss.mq.il.jvm.JVMServerIL.receive(JVMServerIL.java:244)
    at org.jboss.mq.Connection.receive(Connection.java:909)
    at org.jboss.mq.SpyMessageConsumer.receive(SpyMessageConsumer.java:398)
    - locked <0xd8d43620> (a java.util.LinkedList)
   .........
   .........
 
Many thanks in Advance. Any input will be greatly appreciated.
 
 
Regards,
Sudarshan

--------------------------------------------------------------

To reply to this message visit the message page: http://community.jboss.org/message/529324#529324




More information about the jboss-user mailing list