2008-10-02 21 views
55

Welcher Profiler eignet sich besser für allgemeine Profilerstellung und Haufenanalyse? 90% unserer Apps sind eigenständige Befehlszeilenprogramme mit umfangreicher Datenbank- und numerischer Verarbeitung. Die anderen 10% sind Webapps/Servlet Container Apps (mit sehr wenig JSP und keine SCRIPLETS!). Zielbenutzer wäre Sr Software Engineer mit 5-10 Jahren Branchenerfahrung. Wir benötigen nur Unterstützung für Sun JDK 5 und.Welcher Java Profiler ist besser: JProfiler oder YourKit?

Zum Schreiben dieser Frage (2008-10-02), war JProfiler bei 5.1.4 und YourKit war 7.5. Sieht aus wie YourKit 8.0 wird bald veröffentlicht werden.

+4

Werfen Sie einen Blick auf jvisvisualvm in Java 6 u 10, die eine erste Option für den einzelnen Entwickler sein kann, bevor die großen Profiler Hämmer herausgebracht werden. –

Antwort

17

Wenn Sie auf jdk> = 1.6_07 sind, können Sie sich auch den jvisualvm ansehen, der gebündelt geliefert wird.

+4

Für "allgemeine" Profilerstellung ist jvisualvm großartig. kein zusätzliches Gebäude oder Setup oder irgendetwas, nur anhängen und gehen. Sobald Sie etwas gefunden haben, müssen Sie möglicherweise zu einer dieser anderen Apps gehen, um eine ausführliche Berichterstattung zu erhalten. –

+0

Was ist der Unterschied zwischen jvisualvm und VisualVM? – raffian

+0

@raffian: Keine, denke ich. * jvisualvm * ist nur der Name der Binärdatei. – kevinarpe

1

Für schnelles und schmutziges Profiling von Befehlszeilenprogrammen funktioniert JIP wirklich gut.

0

Ich habe nur JProfiler (und einige JProbe) verwendet. Soweit ich das beurteilen kann, ist eine Einschränkung von YourKit, dass sie JDK 1.4.2 nicht zu unterstützen scheinen. Das ist kein Problem für viele Menschen, aber es könnte sein.

+2

Ich habe Yourkit auf 1.4.2 verwendet. es unterstützt es aber nicht so gut wie 1.5.x – anjanb

3

Ich habe Yourkit verwendet und es ist ein sehr nice Profiler, das beste, was ich jemals in Java verwendet habe (ich habe eine Vielzahl von anderen im Laufe der Jahre verwendet). Davon abgesehen habe ich jprofiler nie benutzt, daher kann ich keinen direkten Vergleich geben.

1

Sie haben jahrelang mit JProfiler gearbeitet und waren sehr zufrieden damit. IntelliJ scheint ihre Empfehlung zwischen YourKit und JProfiler hin und her zu wechseln, also würde ich vermuten, dass ihre Features ähnlich sind. Ich glaube, beide haben eine Testversion.

37

Ich habe sowohl JProfiler 4 als auch YourKit 7.5 verwendet, und YourKit gewinnt sehr gut. Es ist so viel weniger invasiv als JProfile, da ich gerne Produktionsserver mit dem installierten YourKit-Agent ausführen werde, was ich mit JProfiler niemals tun würde.

Auch das Analyse-Tool, das mit YourKit geliefert wird, ist (meiner Meinung nach) intuitiver, was es einfacher macht, die Ursache von Problemen zu finden.

+2

Seien Sie sehr vorsichtig, wenn Sie YourKit kaufen. Eine Lizenz wurde von unserem Konto erworben und sie hat ihre E-Mail-Adresse eingegeben. Sie würden nicht zulassen, dass der Programmierer für den Gebrauch gekauft wurde, weil er nur vom Käufer benutzt werden konnte. Eine andere Lizenz wurde von einem Entwickler in Litauen verwendet, der während des Sommers in der Ukraine arbeitete. Sie widerrufen seine Lizenz für die Verwendung in 2 Ländern. Seien Sie sehr vorsichtig –

-1

+1 für yourkit --- mit 7.0 auf dev-Boxen in Windows
nicht verwendet JProfiler für eine Weile - kann nicht kommentieren, da sie in der Zwischenzeit möglicherweise verbessert haben.

+1

Es ist "jprofiler oder yourkit" Vergleich. Wie kannst du für dein Kit stimmen, während du, wie du sagtest, mit jprofiler nicht vertraut bist? – rafalmag

+0

@rafalmag: Ich sagte, dass ich den JProfiler schon lange nicht mehr benutzt habe (ich habe nicht gesagt, dass ich ihn nie benutzt habe). Zu der Zeit, als ich diesen Kommentar machte, hatte ich mehrere Berichte gelesen, die beide Profiler verglichen. – anjanb

0

Nur als Nebenbemerkung, möchten Sie vielleicht den Netbeans Profiler betrachten - es ist ziemlich gut. Aber ich habe keinen der beiden erwähnt, die du erwähnt hast.

1

Ich habe YourKit verwendet. Ich habe den JProfiler nicht benutzt. Ich habe OptimizeIt zuvor verwendet. Ich habe eine sehr gute Meinung über YourKit. Es ist sehr stabil und gute GUI und gute Feature-Liste. Ein einzigartiges Feature, das ich bemerkt habe, ist CPU-Profiling mit und ohne Wartezeit (wie I/O-Wais) inklusive.

Es ist auch

sehr vernünftig (ich glaube über etwa $ 1100 für 5 Lizenzen) Preis
8

ich verwendet habe, JProbe, OptimizeIt und YourKit alle umfangreich und sie sind alle in der Lage Werkzeuge. Von den 3 ist mein Allround-Favorit YourKit.

Das einzige Killer-Feature in JProbe ist die Fähigkeit, von einem Perf-Snapshot in eine kommentierte Quelle zu wechseln (mit Zählern und Timings). Ich fand das außerordentlich nützlich.

1

YourKit ist großartig. Vielleicht möchten Sie auch den in NetBeans integrierten Profiler ausprobieren - es ist ziemlich cool.

1

Yourkit Es ist niedriger Aufwand, stabil, einfach auf der JVM zu installieren, um profiliert werden (nur eine DLL) und leistungsstark. Zum Analysieren von Heap-Dumps ist es der einzige Profiler, der dem Eclipse Memory Analyzer nahe kommt.

8

Keiner der anderen Tools als JXInsight realen Datenbank Transaktionsanalyse durchführen:

http://www.jinspired.com/products/jxinsight/concurrency.html http://www.jinspired.com/products/jxinsight/olapvsoltp.html

JXInsight der Sonden-Technologie ist auch die einzige, die auch in der Produktion führen könnte man bedenkt, dass wir durch aus NetBeans Profiler ausführen 20x und yourkit 100x in SPECjvm2008-Benchmarks.

http://blog.jinspired.com/?p=272

Ich bin der Architekt von JXInsight so ich natürlich völlig voreingenommen bin, aber zur gleichen Zeit bin ich wahrscheinlich besser qualifiziert als die meisten in der Java-Industrie einen solchen Anspruch zu machen, da ich die letzten 8 gewidmet haben Jahre zur Leistungsanalyse für einige der anspruchsvollsten Java/J2EE-Anwendungen in der Produktion.

Ich sollte darauf hinweisen, dass JXInsight für Software-Performance-Ingenieure und nicht nur für die gelegentliche Adhoc Profiling-Sitzung entwickelt wurde. Wir haben mehr als 4000+ Systemeigenschaften, um die Runtime- und 600+ Technologieerweiterungsbibliotheken zu konfigurieren, so dass es möglicherweise übertrieben ist, es sei denn, man hat ein komplexes Problem zu lösen und/oder das gleiche Tool über Entwicklung, Test und Produktion zu verwenden.

Mit freundlichen Grüßen

William

0

Ich verwende JProfiler und finde es insgesamt OK. Es ist "dynamische Instrumentierung" -Funktion ist jedoch für kleine Methoden schrecklich voreingenommen.

0

Ich verwende den TPTP-Profiler. Die beste Eigenschaft ist, dass dies sehr einfach in Eclipse integriert werden kann, aber das Schlimme ist, dass es das Eclipse langsamer laufen lässt.

4

Definitiv YourKit ... Es war in der Lage, 4 Gigs Heap Dump mit nur 1g Heap zu öffnen. Während Jprofiler mit gleicher Heap-Zuordnung abgestürzt ist!

5

Ich habe beide verwendet und meine Stimme ist jetzt definitiv JProfiler (in der aktuellen Version 6) wie es einfacher zu bedienen ist und viele nützliche zusätzliche Funktionen hat. In früheren Versionen hatte YourKit einige Vorteile mit größeren Snapshots, aber das ist jetzt weg.

14

Nachdem ich vor kurzem sowohl JProfiler als auch Yourkit verwendet habe, finde ich heraus, dass yourkit bei der Speicherproblemanalyse weit überlegen ist und stark jprofiler für die Leistungsanalyse vorzieht. Die Speicheranalyse von Yourkit scheint viel einfacher und intuitiver zu sein.Für die Leistungsanalyse von yourkit konnte ich keine Performance-Probleme lösen, die ich mit yourkit beheben wollte. JProfiler zeigt genauere und prägnantere Informationen für die Leistungsanalyse mit der genauen Anzahl der Methodenaufrufe und der pro Zeitaufwand pro Methode verwendeten Zeit. Ich muss dies noch in Ihrem Kit finden. Es scheint, dass yourkit nur Stichprobeninformationen gibt, die nicht genau sind, es sei denn, Sie messen Tausende von Aufrufen.

+0

Nicht sicher, ob es in 2010 möglich war, hat YourKit 12 neben der Probenahme auch eine Tracing-Funktion, die die Aufgabe erfüllt. Persönlich ist es besser als VisualVM, weil es die Zeit analysiert, die in Laufzeit generierten Objekten wie anotationsbasierten myBatis Mappern verbracht wird – lyomi

5

Mit Java 7 Update 40, Oracle enthalten Java mission control (ursprünglich Teil des JRockit JDK) - ein sehr leistungsfähiges Performance-Tuning-Tool, das mit yourkit/jprofiler konkurrieren kann.

Werfen Sie einen Blick und seien Sie überrascht.

0

Definitiv YourKit. Es ist das intuitivste und stabilste!

Verwandte Themen