The interface had buttons and tables everywhere and I got lost in the UI. I started the server through the script and attached the session to it. It generates a start up script in your Tomcat directory. The installation was not straight forward I did figure out the configuration eventually. I had some difficulties to get started with JProbe. I took a snapshot of the CPU time and could see the execution path for my request. It showed me a nice user interface with tabs like memory monitoring and CPU profiling. After setup I run the application using the plugin and it automatically attached the process to YourKit. The setup gave me an option to install a plugin for my IDE. YourKit is one of the profilers that I came across on another project. That was taken care of by the IntelliJ plugin. I didn’t have to generate separate Tomcat startup. Using the plugin for my IDE, IntelliJ in my case, running JProfiler is even easier. This gave me a nice overview of where the request took the most time. I went for the CPU usage and could see the execution path. I could record memory usage and CPU usage. I attached the session to the listening process and it gave couple options. Then I run the server and it did wait till JProfiler connected to it. I had to select the application server home directory and the wizard generated a separate start up script for the application server to use with JPofiler. JProfiler was easy to set up and it walked me through a wizard where you can select the application server used to run the application. It can tell you which classes and methods are hit, but it will not show the flow through the application. It has default memory and CPU monitoring. VisualVM is a resource profile tool that comes with JDK starting from 6 update 7. The application is deployed on Tomcat server. My setup is a Spring based application with a RESTful interface using the MongoDB as its data store. The layout of application flow should include classes and methods against time In order to make the right choice, I set up some minimum requirements that the profiler should meet: There are many Java profilers out there that could help me to figure out this problem, only the question was which one should I use? In order to figure this out in more detail, I decided to do some profiling to see where the application was using most of its resources and how to tackle this problem. I did wonder, maybe the performance could be increased by altering the application’s logic or maybe the application had reached its limit and needed to be scaled up. However, in my case the performance decreased at a rate much higher than when compared to the increased load. It seems logical to think when increasing the load on the application, that the performance will decrease. While maintaining one of our client’s applications I noticed some performance problems under higher load.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |