Thursday
Sep102009
When optimizing - don't forget the Java Virtual Machine (JVM)

Recently, I was working on a project that was coming to a close. It was related to optimizing a database using a Java based in-memory cache to reduce the load. The application had to process up to a million objects per day and was characterized by its heavy use of memory and the high number of read, write and update operations. These operations were found to be the most costly, which meant that optimization efforts were concentrated here.
The project had already achieved impressive performance increases, but one question remained unanswered - would changing the JVM increase performance?
Read more at: http://bigdatamatters.com/bigdatamatters/2009/08/jvm-performance.html
Reader Comments (3)
Yet nowhere in the article did I see any JVM profiling used?
Yeah I have a similar post on my blog for Perl since we're mostly a mod_perl shop. I used strace and debuggers to look for where the smallest change to the core Perl would give use the biggest payoff.
http://blog.pe-ell.net/1_jons_ramblings/archive/3_speeding_up_perl.html
---------------------------------------------------------------
http://blog.pe-ell.net http://wetnun.net
The major issue with large in-memory cache in Java is garbage collector. Tracking millions of objects can not be done efficiently. Cache performance has nothing to do with general JVM performance.