Java Performance Tuning and Optimization
I just followed a course from Oracle University, Course
Name: “Java Performance Tuning and
Optimization Ed 1”
Fine! It was a 3 full day course, learnt a lot. I thought to share some of with you guys. Learnt to
blend tuning methodology, performance theory and practical tips on solving
difficult performance problems for Java applications. Had an opportunity to hone
on a series of labs derived from real performance tuning issues.. they all were
well organized. also learnt about
various tools and mechanisms for monitoring, profiling and tuning Java
applications.
In the first discussion on Application performance I started
to believe that “Speed up” ( speeding app in same infrastructure) comes before “Scale
up” (vertical scalability like add more memory..) or “Scale out”(horizontal
scalability like adding new server..).
When it comes to performance tuning in an app server you
should keep in mind known theory of that separate JVM is created for each Java
application.
What you understand by “performance”? to me, it is basically
“Responsiveness” and “Throughput” of an application. If it is an user
interactive app(web or game) we need high responsiveness where we need high
throughput from an server side batch processing app.
The approach for tuning(performance) a java application is
Monitor> then Profile > and finally Tune!
Comments