You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by jid1jid1 <ji...@dharma.gr> on 2010/04/27 16:30:34 UTC

Weird producer slow performance (with persistence)

I use ActiveMQ 5.3.1 with default configuration.
My message producer rate for 1 msg / per commit cannot exceed 90msgs/second.

I tried using multiple Thread/Sessions, Connections and JVM instances and
the rate cannot exceed this (without settings like
factory.setUseAsyncSend(true) )

The weirdest part is that I get the same 90msgs/sec even in every possible
combination and even if I try sending messages to different queues. 

If I change the usual setting like committing sessions in batches or
factory.setUseAsyncSend(true) I go up to 5000 msgs/sec.

(BTW, I get the same slow performance even independently if I run my
producing application from the same physical box or remotely).

Any ideas of what to look for?

Many thanks
-- 
View this message in context: http://old.nabble.com/Weird-producer-slow-performance-%28with-persistence%29-tp28377685p28377685.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Weird producer slow performance (with persistence)

Posted by jid1jid1 <ji...@dharma.gr>.
Thanks for your reply. After I tried it on my PC it became obvious that it is
a disk issue.



Gary Tully wrote:
> 
> That sounds like a disk limit as each send/commit will cause a file sync
> and
> the client is blocked till that completes. With batching, things improve
> as
> the disk writes coalesce.
> 
> It may be interesting to run this little disk benchmark that replicates
> the
> kahaDB writer thread to quantity the effect of the sync on some difference
> machines.
> 
> java -classpath lib/kahadb-5.3.1jar org.apache.kahadb.util.DiskBenchmark
> 
> 
> On 27 April 2010 15:30, jid1jid1 <ji...@dharma.gr> wrote:
> 
>>
>> I use ActiveMQ 5.3.1 with default configuration.
>> My message producer rate for 1 msg / per commit cannot exceed
>> 90msgs/second.
>>
>> I tried using multiple Thread/Sessions, Connections and JVM instances and
>> the rate cannot exceed this (without settings like
>> factory.setUseAsyncSend(true) )
>>
>> The weirdest part is that I get the same 90msgs/sec even in every
>> possible
>> combination and even if I try sending messages to different queues.
>>
>> If I change the usual setting like committing sessions in batches or
>> factory.setUseAsyncSend(true) I go up to 5000 msgs/sec.
>>
>> (BTW, I get the same slow performance even independently if I run my
>> producing application from the same physical box or remotely).
>>
>> Any ideas of what to look for?
>>
>> Many thanks
>> --
>> View this message in context:
>> http://old.nabble.com/Weird-producer-slow-performance-%28with-persistence%29-tp28377685p28377685.html
>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> -- 
> http://blog.garytully.com
> 
> Open Source Integration
> http://fusesource.com
> 
> 

-- 
View this message in context: http://old.nabble.com/Weird-producer-slow-performance-%28with-persistence%29-tp28377685p28385845.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Weird producer slow performance (with persistence)

Posted by Gary Tully <ga...@gmail.com>.
That sounds like a disk limit as each send/commit will cause a file sync and
the client is blocked till that completes. With batching, things improve as
the disk writes coalesce.

It may be interesting to run this little disk benchmark that replicates the
kahaDB writer thread to quantity the effect of the sync on some difference
machines.

java -classpath lib/kahadb-5.3.1jar org.apache.kahadb.util.DiskBenchmark


On 27 April 2010 15:30, jid1jid1 <ji...@dharma.gr> wrote:

>
> I use ActiveMQ 5.3.1 with default configuration.
> My message producer rate for 1 msg / per commit cannot exceed
> 90msgs/second.
>
> I tried using multiple Thread/Sessions, Connections and JVM instances and
> the rate cannot exceed this (without settings like
> factory.setUseAsyncSend(true) )
>
> The weirdest part is that I get the same 90msgs/sec even in every possible
> combination and even if I try sending messages to different queues.
>
> If I change the usual setting like committing sessions in batches or
> factory.setUseAsyncSend(true) I go up to 5000 msgs/sec.
>
> (BTW, I get the same slow performance even independently if I run my
> producing application from the same physical box or remotely).
>
> Any ideas of what to look for?
>
> Many thanks
> --
> View this message in context:
> http://old.nabble.com/Weird-producer-slow-performance-%28with-persistence%29-tp28377685p28377685.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>


-- 
http://blog.garytully.com

Open Source Integration
http://fusesource.com