This short post will test your knowledge on JVM and project delivery skills; especially regarding JVM upgrades. I’m looking forward for your comments and answers on how to approach this type of projects in order to say away from performance problems.
I was recently involved in a recent problem case affecting a production environment running on Weblogic 10 and using the HotSpot JVM 1.6 @32-bit. Given recent challenges and load increase forecast, the decision was taken to upgrade the HotSpot JVM 1.6 from 32-bit to 64-bit.
Please note that no change was applied to the JVM arguments.
After a few weeks of functional testing and planning, the upgrade was deployed successfully to the production environment. However, the support team did observe the next day major performance degradation, including thread lock contention, forcing the deployment team to rollback the upgrade.
The root cause was eventually found and the upgrade will be re-attempted in the near future.
Based on the above background, provide a list of possible root causes that may explain this performance degradation.
Propose a list of improvements to the project delivery and recommendations on how to properly manage and de-risk this type of upgrade.
To be posted in one week.