activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert.Sloss@Misys.com" <Robert.Sl...@Misys.com>
Subject Slow throughput after several hundred messages
Date Fri, 10 Dec 2010 18:00:12 GMT

Hi,

I am using ActiveMQ 5.4.1. Our application runs on GlassFish application
server 2.1.1, however I have reproduced the slow behaviour described below
using a J2SE standalone client as well. Our application uses multiple
stateless session beans to concurrently produce messages which are stored in
persistent queues, and consumed using multiple stateless session beans (with
separate connections and queue sessions). We have found this approach with
ActiveMQ works fine and is performant up until several hundred messages are
read/consumed from a single persistent queue. In this case,
consumers/producers seem to be throttled regardless of broker/destination
configuration, to the point where, after 24hours, the broker becomes totally
unresponsive and requires a restart to begin processing once again.

The problem seems to be with a single persistent queue mounting up many
reads/writes over time as I have been able to reproduce this with a single
producer and a single consumer thread both reading/writing to the same
queue. 

I have been trying various different configurations to get around this:
using the default store cursor, vm cursor and file based cursors; removing
producer flow control for queue destinations; embedded vs remote brokers.
None have yielded any change in behaviour. I also get a large number of
"EOFException" logged from the server as shown below:

 INFO | Transport failed: java.io.EOFException
java.io.EOFException
        at java.io.DataInputStream.readInt(DataInputStream.java:375)
        at
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:269)
        at
org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:226)
        at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:218)
        at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:201)
        at java.lang.Thread.run(Thread.java:619)

I saw some posts where this is described as a symptom of unexpected loss of
connection, made more prevalent with use of the scheduler service. I have
tried removing the scheduler service, but this has not helped either. 

Has anyone encountered this behaviour before or have any idea what I could
try to solve it?

Thanks in advance for any help you might be able to give.

Regards,
Rob.
-- 
View this message in context: http://activemq.2283324.n4.nabble.com/Slow-throughput-after-several-hundred-messages-tp3082431p3082431.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Mime
View raw message