jump to navigation

Java Performance Monitoring October 8, 2013

Posted by Midhun in None.
trackback

Java – one of the world’s most used language for application development – and the one that I worked on most too 🙂

As with every application, there will be performance issues as the application matures. There can be many reasons like future volumes not being taken into consideration, change in business requirements etc. So one will obviously need to then tune the application’s performance.

There are various levels off performance tuning – depending on how severe the issue is and how much you want to spend 😉

Basic level – Monitor JVM performance using jConsole  or VisualVM. These are pretty handy and free tools and easy to setup and monitor. But then they remain the same – basic. You will be able to get the heap usage and the generations and monitor them. You will be able to able to pick the Garbage Collection frequency. But not the details – may be at the max, you can map the memory usage to a process and keep monitoring it for some time to conclude which process is taking up the memory.

Intermediate – Once a process has been identified, then you will need tools like jProfiler. They are profiling tools that will integrate with the IDE used for development and you can find profile the process. This helps in identifying the parts of the code which will need tuning.

Advanced – The basic monitoring can be used in Production but it would not provide the required details for fine tuning. Intermediate one is more offline and development oriented. It cannot be used on Production systems. There are few more tools which can be used on live systems like Dynatrace. These help prevent and proactively monitor performance issues rather than tune the application after facing them. They do effect the CPU consumed but then they provide the most detailed information possible for a production system – the one where most of the incidents occur 🙂

 

Comments»

No comments yet — be the first.

Leave a comment