Hard to say what exactly the problem is. In the past I got to learn the 
optimizedDispatch="true" isn't always a good choice. Can you try without it?

In addition I recently found that enableIndexWriteAsync="true" on your kahadb 
config may not bring any performance improvement. Not sure if you have set this.

Also does your test involve queue or topic messages?


Torsten Mielke
tors...@fusesource.com
tmie...@blogspot.com



On Dec 20, 2011, at 10:37 AM, Harish Sharma wrote:

> Hi,
> I tried to reply to 
> http://activemq.2283324.n4.nabble.com/Backlog-data-causes-producers-to-slow-down-tt3806018.html
>  post . Because i am facing similar issue.
> Whenever my consumer goes down and there is a data back log the production 
> rate goes down significantly.
> Moreover when my consumer is up again , the production rate goes down again 
> and this cycle repeats itself.
> Some Info :
> I am using ActiveMQ 5.5.1 , KahaDB message store,  Producer flow control = 
> FALSE , AsyncSend(true) , persistence = true and 
> ConcurrentQueueStoreAndDispatch = true and false (tried both does not make 
> much difference)
> As i read in this post about cursors so i am using the default store cursor.
> 
> Here is snippet from broker.xml
> destinationPolicy>
>      <policyMap>
>        <policyEntries>
>          <policyEntry topic=">" optimizedDispatch="true" memoryLimit="1gb" 
> producerFlowControl="false"  />
>          <policyEntry queue=">" optimizedDispatch="true" memoryLimit="1gb" 
> producerFlowControl="false" />
>        </policyEntries>
>      </policyMap>
>    </destinationPolicy>
> 
> <systemUsage>
>      <systemUsage sendFailIfNoSpace="true">
>        <memoryUsage>
>          <memoryUsage limit="20 gb" />
>        </memoryUsage>
>        <storeUsage>
>          <storeUsage limit="500 gb" name="foo" />
>        </storeUsage>
>        <tempUsage>
>          <tempUsage limit="1 gb" />
>        </tempUsage>
>      </systemUsage>
>    </systemUsage>
> 
> I am using all the optimizations(i read from 
> http://fusesource.com/docs/broker/5.4/tuning/index.html )
> for producer , consumer and broker.
> These optimizations are able to increase message production rate a bit but 
> the main issue is the stability of the production rate.(why it goes down 10 
> times and then keep on going down with every time consumers goes down or goes 
> up again).
> I am trying to figure out the cause but unable to pinpoint the code in 
> activeMQ which is causing this issue.
> When i saw threads state in jconsole i found out that as soon as consumer 
> start running , producer thread goes into wait state ( State: WAITING on 
> java.util.concurrent.locks.AbstractQueuedSynchronizer ).I understand the 
> queue these producers write to is blocking queue.But i  don't understand why 
> consumers  are affecting producers while flow control is off and my store 
> size is 500 GB and memory is 20GB .Why not producers are producing at a 
> constant rate until my KahaDB store is full.
> 
> I really need help in this matter and deeply appreciate any help from you 
> guys.
> 
> Thanks & Regards
> Harish Sharma




Reply via email to