We have been load testing our system lately and we have been noticing many 
threads waiting to lock the readOwnerList in the LockMap class.

The readOwnerList_ is a CopyOnWriteArraySet and (as the sourcecode comment 
above clearly states) is not the most effecient implementation to use here.

So I decided to try and replace the CopyOnWriteArraySet with a 
ConcurrentHashMap implementation instead and I got a very significant 
performance boost. Not only was CPU significantly lower on the machines running 
the cache, but concurrency was also much, much better. I was actually surprised 
to see how much performance was gained. 

Therefore, I would certainly recommend that you swap out the 
CopyOnWriteArraySet to something more efficient. The actual coding took me 
about 1 minute to do, so it should certainly be a simple way to improve the 
cache throughput.

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4099664#4099664

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4099664
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to