Not an answer, only an anecdote: We upgraded from 5.1 to 5.2 a couple weeks ago, and I benchmarked our message throughput. requester thread create request queue create reply queue listen to reply queue loop send short message with unique JMSCorrelationid put correlation Id on a ConcurrentHashMap end
reply thread pool listen to request queue on message, reply to reply queue copying correlation id response thread pool listen to reply queue on message, remove message from hash map and increment a counter I saw performance decline about 5% for this scenario going from 5.1 to 5.2 - on my laptop I was getting about 6000 request/response pairs per second. hackingbear wrote: > > Hi, > > I upgraded to 5.2.0 last week and witness my application performance > dropped substantially. I wrote a simple test which does: > > producer: > loop > create a temporary reply queue > send a short object message to a non-persistent, non-durable queue > read from reply queue > delete the reply queue > > consumer: > read the message > send the same object back to the reply queue > > In 5.1, I get to 91 msg/s but in 5.2.0, I only get 17 msg/s > > The configurations are pretty much identical between the two versions: > 5.2: -Xmx512M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode > -Dorg.apache.activemq.UseDedicatedTaskRunner=false > 5.1: -Xmx386m -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode > -Dorg.apache.activemq.UseDedicatedTaskRunner=false > > prefetch=1 for both versions. > > (Notes worthy: the test program producer/consumers are using the 5.2 > activemq-all.jar, only the broker server is changed in the tests.) > > I know the implication of the UseDedicatedTaskRunner and prefetch, but > here they are identical for both versions. > > Why is there such a huge performance hit in 5.2? > > Thanks > > -- View this message in context: http://www.nabble.com/Severe-performance-hit-upgrading-to-5.2.0-from-5.1-tp22016698p22077690.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.