Hello folks, I am evaluating ActiveMQ for some simple scenarios. The web-server will push notifications to the queue/topic to be consumed by one or many consumers. The one requirement is web-server should not get impacted or should be able to write at their speed even if consumers goes down etc.
ActiveMQ is performing very well with about 1500 QPS (8 producer thread, persistence, kaha-db) Kahadb parameters being used are enableJournalDiskSyncs="false" indexWriteBatchSize="1000" enableIndexWriteAsync="true The system works great if consumers are all caught up, the issue is when I am trying to test scenarios with backlogged data (keep running producer for 30 mins or so) and then start consumers. Consumer show good consumption rate but the producers (8 threads same as before) cannot do more than 120 QPS. This is a drop of more than 90% degradation. I ran profiler on the code (Jprofiler) and looks like the writers are getting stuck for write locks while competing with the removeAsyncMessages() or call to clear messages which got acknowledged from clients etc. I saw similar complaints for some other folks, Is there some settings we can use to fix the problem ? I dont want to degrade any guarantee level (eg. disable acks etc). Would be more than happy to run experiments with different settings if folks have some suggestions. -- View this message in context: http://activemq.2283324.n4.nabble.com/Backlog-data-causes-producers-to-slow-down-tp3806018p3806018.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.