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?
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
Wenn Sie Java 6 verwenden, können Sie die mitgelieferten Überwachungstools
verwendenWie 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.
Tags und Links java performance