activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From william <itch...@hotmail.fr>
Subject Performance issue during stress
Date Thu, 11 Aug 2011 18:42:26 GMT
Hi,

I am testing ActiveMQ 5.5 with my own stress test. I tried to implement a
stress test that use jms ressource in the same fashion that my application
would do.

For that, I used jdbc template (spring) and  pooled connection factory (as
recommended). I run a fixed number of thread that plublish on fixed number
of topics. Each thread pick up a topic and enter a loop that will send a
message on the choosen topic.

The performance are good when I have number of thread = number of topic
(meaning each thread has a topic and topic are not shared amoung threads).
But when I test with number of thread > number of topic the performance are
not so good. 

When I look at VisualVM I have seen a lot of red in transport thread used by
the producers and when I make a thread dump I can see that there are BLOCKED
threads.

Does anyone has seen this problem before ? Can it be due to the use of
anonymous producer (I mean a in my test a producer does not have a specific
destination).

Here is a snapshot of locks I found : 

   java.lang.Thread.State: BLOCKED (on object monitor)
        at
org.apache.activemq.broker.region.Topic.doMessageSend(Topic.java:423)
        - waiting to lock <0xfffffffefaf38878> (a
org.apache.activemq.broker.region.Topic)
        at org.apache.activemq.broker.region.Topic.send(Topic.java:404)
        at
org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:365)
        at
org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:523)
        at
org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)
        at
org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:227)
        at
org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
        at
org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
        at
org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)
        at
org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)
        at
org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:458)
        at
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)
        at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:306)
        at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
        at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
        at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
        at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:227)
        - locked <0xfffffffefb3fd740> (a
org.apache.activemq.transport.InactivityMonitor$1)
        at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
        at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220)
        at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)
        at java.lang.Thread.run(Thread.java:619)


 java.lang.Thread.State: BLOCKED (on object monitor)
        at
org.apache.activemq.broker.region.AbstractRegion.getDestinationMap(AbstractRegion.java:222)
        - waiting to lock <0xfffffffef9c49d28> (a java.lang.Object)
        at
org.apache.activemq.broker.region.RegionBroker.getDestinationMap(RegionBroker.java:134)
        at
org.apache.activemq.broker.BrokerFilter.getDestinationMap(BrokerFilter.java:69)
        at
org.apache.activemq.broker.BrokerFilter.getDestinationMap(BrokerFilter.java:69)
        at
org.apache.activemq.broker.BrokerFilter.getDestinationMap(BrokerFilter.java:69)
        at
org.apache.activemq.broker.BrokerFilter.getDestinationMap(BrokerFilter.java:69)
        at
org.apache.activemq.security.AuthorizationBroker.addDestination(AuthorizationBroker.java:62)
        at
org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:151)
        at
org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:502)
        at
org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)
        at
org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:227)
        at
org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
        at
org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
        at
org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:192)
        at
org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)
        at
org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:458)
        at
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)
        at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:306)
        at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
        at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
        at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
        at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:227)
        - locked <0xfffffffefc20b520> (a
org.apache.activemq.transport.InactivityMonitor$1)
        at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
        at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220)
        at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)
        at java.lang.Thread.run(Thread.java:619)



--
View this message in context: http://activemq.2283324.n4.nabble.com/Performance-issue-during-stress-tp3736771p3736771.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Mime
View raw message