There is some synchronization, yes. Which version of JBoss Cache are you using? Have you done any profiling to demonstrate thread contention?
Thanks for your quick response.
I am using 1.4.0.SP1 because I need jdk1.4 compatibility in my application.
Application stores authorization decisions for resources in application for all users into cache. When single user hits this cache the performance of application is good compare to multiple users hitting this application (because get (key) call on cache instance) how can I resolve this problem?
What kind of NodeLockingSchemes are available in 1.4.0 SP1?
If we use OPTIMISTIC locking scheme will it help? Is it available in 1.4.0?
We are seeing big performance degradation while only doing reads (get()) method? Is this normal, when invoking get() with multiple concurrent threads say 100 threads.
Yes, optimistic locking is available, but while it will increase concurrency, it will also increase some memory and CPU usage due to the amount of copying and versioning that needs to happen. So you should profile and load test the configuration with your use case to help with your decision.
Also I'd upgrade to the latest 1.4.X version, which is 1.4.1.SP9.
Can u point me to JBoss Cache support page? What is the support license?