• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

basic question about profiler

 
ben oliver
Ranch Hand
Posts: 375
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
New to this topic, I have a basic question about profiler like jProbe, etc ---

Suppose I have a j2ee web application and want to use jProbe to check the bottleneck. Do I have to

1) get the j2ee application start running on my application server
2) get my jprobe installed and up running with the application server

The problem is it is hard to predict when the performance problem appears on the production system. How can I get a "snapshot" of what's the bottleneck while the system is down due to performance problem ? Do I have to have my jProbe ALWAYS up running while my production server is on ? That doesn't make much sense.
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 34667
366
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ben,
Usually, you use a profiler when running a load test (in a non-production environment.) In production, you use a monitoring tool to tell you if the system reaches any critical thresholds. This is a lot less intrusive than a profiler.
 
ben oliver
Ranch Hand
Posts: 375
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Jeanne Boyarsky:
Ben,
Usually, you use a profiler when running a load test (in a non-production environment.) In production, you use a monitoring tool to tell you if the system reaches any critical thresholds. This is a lot less intrusive than a profiler.


It is certainly true that our site goes down when it reaches certain number of users... Then, does it mean we *have to* combine jProbe with load test ? What if I don't have a load test software/tool ? Can jProbe still help ?

Another question is --- Do I have to "tell" jProbe which object to monitor ? Will jProbe automatically diagnose for me which object/method consumes too much memory ?
 
steve souza
Ranch Hand
Posts: 862
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Also consider using JAMon. It is free and is fast enough to run in production systems. The jamon servlet filter requires no changes to your web app to get it running. Just add a few lines to you web.xml and make jamon.jar available.

http://www.jamonapi.com
 
Appu Chan
Greenhorn
Posts: 28
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Jprobe is not expected to be used in a production environment. It adds its own overhead to the application which could be upto 20%. You may probably use some non-intrusive monitoring tools on your prod env like Jamon, Sitescope or Topaz, if you dont have access to load testing environment to test with jprobe.

The application failure when load increases may be due to various factors including issues with the application and also lack of sufficient hardware resources like memory, processor, network etc

Regarding usage of jprobe, you can configure it to profile your entire application classes or any specific objects.
[ June 12, 2006: Message edited by: Howard Chan ]
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic