S
S
Snowindy2013-05-17 15:49:54
Java
Snowindy, 2013-05-17 15:49:54

Java profiler with minimal performance impact, for PROD environment?

Faced the problem of low performance of Java application. Given:
- VPS with FreeBSD 9, 3 GB RAM and a weak processor
- Tomcat 7.0.37
- Several application modules in the form of a set of WARs, one of them - the Load Average web application
is kept in the region of 2-3 (1 processor), processor load on average - about 50%.
The application is constantly processing, I want to understand which place is the main consumer of processor time.
From the profiler, it is necessary that it:
- influence the system to a minimum, this is production
- once in a given period of time, remove data from the system and save them to a file, for further analysis
- a normal visual tool for analyzing a snapshot
Can you tell me what would be best? What was used in such a situation?

Answer the question

In order to leave comments, you need to log in

3 answer(s)
D
dvayanu, 2013-05-17
@dvayanu

moskito.anotheria.net Take
, integrate. Have a lot of fun!
Here's a snippet of the demo:
server04.test.anotheria.net :8080/moskitodemo/mui/
If you need help, PM me!

D
dvayanu, 2013-05-17
@dvayanu

1) To the application. Although JVM information is written too. For example all JMX Beans.
2) Yes. See for example:
confluence.opensource.anotheria.net/display/MSK/MoSKito+Central
In your case, probably even faster:
confluence.opensource.anotheria.net/display/MSK/HowTo+Run+moskito-central+in+embedded+mode
3) More difficult :-)
Or look directly on the server, there are not only snapshots but also history.
confluence.opensource.anotheria.net/display/MSK/Accumulators
confluence.opensource.anotheria.net/display/MSK/Thresholds
Or see some third tool based on xml, json, csv, sql or some other files/ bases, etc.
An integrated tool for historical data is still under development.

D
dvayanu, 2013-05-17
@dvayanu

I guess I didn't fully understand your Requirements. On the portals www.parship.de and www.allyouneed.com they solved similar problems like this.
Nevertheless, good luck ;-)
By the way, maybe you should make systematic thread dumps and compare them later?
That is, look not “which component eats time and where” (mosquito) but “which thread is constantly Runnable and in the same place”. A kind of infinite or very long loop.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question