Wie testet man Java-Anwendungen auf Performance-Engpässe?

8

Ich überprüfe eine große Java-Anwendung, um festzustellen, ob es Leistungsengpässe gibt. Das eigentliche Problem ist, dass ich die Leistungsprobleme an keinem einzelnen Modul feststellen kann. Die ganze Anwendung ist langsam als solche.

Gibt es ein Werkzeug / eine Technik, die ich benutzen kann, um mir dabei zu helfen?

    
Niyaz 01.09.2008, 13:22
quelle

6 Antworten

7

Versuchen Sie, einen Profiler auf Ihrem laufenden Code zu verwenden. Es sollte Ihnen helfen, die Engpässe zu identifizieren. Probieren Sie jprofiler oder Netbeans Profiler

    
Bartosz Bierkowski 01.09.2008, 13:25
quelle
5

Ich bin oft glücklich genug mit Java -Xprof . Dies gibt Ihnen eine sortierte Liste der Funktionen, in denen Ihr Code die meiste Zeit verbringt.

    
wvdschel 02.09.2008 08:56
quelle
3

Wenn Sie Java 6 verwenden, können Sie die mitgelieferten Überwachungstools

verwenden     
HadleyHope 01.09.2008 13:30
quelle
0

Zu Testzwecken / Entwicklungszwecken können Sie Oracle JRockit Mission Control kostenlos von diesem Website. (Erfordert Login, aber Konten können mit jeder E-Mail-Adresse eingerichtet werden)

Docs Hier . Es ermöglicht Ihnen, Hotspots, Speicherlecks und vieles mehr zu finden.

    
Tnilsson 02.09.2008 08:50
quelle
0

Wie wir sehen von Wie kann ich C ++ profilieren? Code läuft unter Linux? , der statistisch signifikanteste Ansatz ist die Verwendung eines Stack-Profilers.

Nun, Java läuft in der JVM, daher ist es für uns nicht nützlich, einen Stack zu bekommen, der für C-Code nützlich ist (er wird die JVM-Sachen bekommen, nicht Ihren Code). Glücklicherweise hat Java jstack ! Ссылка

Es wird Ihnen eine Menge Threads geben, wie der GarbageCollector. Machen Sie sich keine Sorgen darüber, schauen Sie nur wo Ihre Threads sind.

    
Riking 12.03.2013 16:03
quelle
0

YourKit ist ein hervorragender Java-Profiler (nicht kostenlos).

    
peceps 12.03.2013 15:57
quelle

Tags und Links