2008-10-02 31 views
55

Profiler nào tốt hơn cho mục đích phân tích và phân tích heap? 90% ứng dụng của chúng tôi là các chương trình dòng lệnh độc lập với cơ sở dữ liệu và xử lý số đáng kể. 10% còn lại là ứng dụng webapps/servlet container (với rất ít JSP và NO SCRIPLETS!). Người dùng mục tiêu sẽ là Kỹ sư phần mềm Sr với 5-10 năm kinh nghiệm trong ngành. Chúng tôi chỉ cần hỗ trợ cho Sun JDK 5 và.Trình biên dịch Java nào tốt hơn: JProfiler hoặc YourKit?

Khi viết câu hỏi này (2008-10-02), JProfiler ở mức 5.1.4 và YourKit là 7.5. Có vẻ như YourKit 8.0 sẽ sớm được phát hành.

+4

Hãy xem jvisualvm trong Java 6 u 10, đây có thể là tùy chọn ban đầu cho nhà phát triển cá nhân trước khi đưa ra các trình thu thập thông tin lớn. –

Trả lời

17

Nếu bạn đang sử dụng jdk> = 1.6_07, bạn cũng có thể muốn xem jvisualvm đi kèm.

+4

Đối với mục đích "chung mục đích", jvisualvm là rất tốt. không xây dựng thêm hoặc thiết lập hoặc bất cứ điều gì, chỉ cần đính kèm và đi. một khi bạn tìm thấy một cái gì đó, bạn có thể cần phải đi đến một trong những ứng dụng khác để có được thực sự trong phạm vi bảo hiểm sâu, mặc dù. –

+0

Sự khác nhau giữa jvisualvm và VisualVM là gì? – raffian

+0

@raffian: Không, tôi nghĩ vậy. * jvisualvm * chỉ là tên của nhị phân. – kevinarpe

1

Để lập hồ sơ nhanh chóng và bẩn của các chương trình dòng lệnh, JIP hoạt động thực sự tốt.

0

Tôi chỉ sử dụng JProfiler (và một số JProbe). Theo như tôi có thể nói, một giới hạn của YourKit là chúng không hỗ trợ JDK 1.4.2. Đó không phải là vấn đề đối với nhiều người, nhưng có thể là vậy.

+2

Tôi đã sử dụng bộ công cụ của bạn trên 1.4.2. nó hỗ trợ nó NHƯNG KHÔNG QUITE SO WELL như 1.5.x – anjanb

3

Tôi đã sử dụng bộ công cụ của bạn và nó là rất profiler đẹp, tốt nhất tôi từng sử dụng trong java (tôi đã sử dụng nhiều loại khác trong những năm qua). điều đó đang được nói, tôi chưa từng sử dụng jprofiler, vì vậy tôi không thể so sánh trực tiếp được.

1

Đã sử dụng JProfiler trong nhiều năm và rất hài lòng với nó. IntelliJ dường như chuyển đổi đề nghị của họ qua lại giữa YourKit và JProfiler vì vậy tôi đoán các bộ tính năng của họ tương tự nhau. Tôi tin rằng cả hai đều có phiên bản dùng thử.

37

Tôi đã sử dụng cả JProfiler 4 và YourKit 7.5 và YourKit sẽ thắng tay. Nó ít xâm lấn hơn nhiều so với JProfile, trong đó tôi sẽ vui vẻ chạy các máy chủ sản xuất với tác nhân YourKit được cài đặt, mà tôi sẽ không bao giờ làm với JProfiler.

Ngoài ra, công cụ phân tích đi kèm với YourKit trực quan hơn (theo ý kiến ​​của tôi), giúp dễ dàng có được nguyên nhân gốc rễ của sự cố.

+2

Hãy rất cẩn thận nếu bạn mua YourKit. Một giấy phép đã được mua bởi tài khoản của chúng tôi và cô ấy đã nhập email của mình. Họ sẽ không để cho lập trình viên được mua để sử dụng nó bởi vì nó chỉ có thể được người mua sử dụng. Một giấy phép khác được sử dụng bởi một nhà phát triển ở Lithuania, người đã làm việc tại Ukraine trong mùa hè. Họ đã thu hồi giấy phép của mình để được sử dụng ở 2 quốc gia. Hãy rất cẩn thận –

-1

1 cho bộ công cụ của bạn --- sử dụng 7.0 trên hộp dev trong cửa sổ
không được sử dụng JProfiler trong một thời gian - không thể nhận xét vì chúng có thể đã được cải thiện trong thời gian chờ đợi.

+1

Đó là so sánh "jprofiler hoặc yourkit". Làm thế nào bạn có thể bình chọn cho bộ của bạn trong khi bạn nói bạn không quen thuộc với jprofiler? – rafalmag

+0

@rafalmag: Tôi đã nói rằng tôi đã không sử dụng JProfiler trong một thời gian khá lâu (tôi đã không nói rằng tôi chưa bao giờ sử dụng nó). Vào thời điểm tôi đưa ra nhận xét này, tôi đã đọc một số bài đánh giá so sánh cả hai hồ sơ. – anjanb

0

Cũng giống như một sang một bên, bạn có thể muốn xem xét hồ sơ Netbeans - nó khá tốt. Nhưng tôi đã không sử dụng một trong hai bạn đã đề cập.

1

Tôi đã sử dụng YourKit. Tôi đã không sử dụng JProfiler. Tôi đã sử dụng OptimizeIt trước đây. Tôi có ý kiến ​​rất tốt về YourKit. Nó là rất ổn định và tốt GUI và danh sách tính năng tốt. Một tính năng độc đáo mà tôi đã nhận thấy là cấu hình CPU có và không có thời gian chờ đợi (như I/O wais) bao gồm.

Nó có giá cũng rất hợp lý (khoảng khoảng $ 1100 cho 5 giấy phép tôi nghĩ)

8

Tôi đã sử dụng JProbe, OptimizeIt, và YourKit tất cả rộng rãi và tất cả đều công cụ có khả năng. Trong số 3, tất cả yêu thích của tôi là YourKit.

Tính năng một kẻ giết người trong JProbe là khả năng di chuyển từ ảnh chụp nhanh chân thành sang nguồn được chú thích (có số lượng và thời gian). Tôi thấy rằng đặc biệt hữu ích.

1

YourKit thật tuyệt vời. Bạn cũng có thể muốn kiểm tra profiler được xây dựng trong NetBeans - nó khá tuyệt.

1

Yourkit Chi phí thấp, ổn định, dễ cài đặt trên JVM phải được lược tả (chỉ một dll) và mạnh mẽ. Để phân tích các bãi đống, đó là hồ sơ duy nhất đến gần Eclipse Memory Analyzer.

8

Không ai trong số các công cụ khác hơn JXInsight thực hiện phân tích giao dịch cơ sở dữ liệu thực tế:

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

công nghệ dò JXInsight cũng là người duy nhất mà thậm chí có thể chạy trong sản xuất xem xét rằng chúng tôi hiệu quả hơn netbeans profiler bởi 20x và yourkit 100x trong tiêu chí SPECjvm2008.

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

Tôi là kiến ​​trúc sư của JXInsight nên dĩ nhiên tôi hoàn toàn sai lệch nhưng đồng thời tôi có thể đủ điều kiện hơn so với hầu hết trong ngành công nghiệp Java để thực hiện một tuyên bố như vậy kể từ khi tôi đã cống hiến cuối cùng 8 năm để phân tích hiệu suất cho một số ứng dụng Java/J2EE khắt khe nhất trong sản xuất.

Tôi nên chỉ ra rằng JXInsight được thiết kế cho các kỹ sư hiệu suất phần mềm chứ không chỉ dành cho phiên định hình adhoc không thường xuyên. Chúng tôi có hơn 4000 thuộc tính hệ thống để định cấu hình thư viện tiện ích mở rộng và 600+ công nghệ để có thể quá mức nếu không có vấn đề phức tạp để giải quyết và/hoặc sử dụng cùng một công cụ trong quá trình phát triển, thử nghiệm và sản xuất là tối quan trọng.

Trân trọng!

William

0

Tôi đang sử dụng JProfiler và thấy nó tổng thể OK. Tuy nhiên, tính năng "thiết bị động" là cực kỳ thiên vị đối với các phương thức nhỏ.

0

Tôi đang sử dụng hồ sơ TPTP. tính năng tốt nhất của nó là nó có thể được tích hợp rất dễ dàng trong Eclipse nhưng điều xấu là nó làm cho Eclipse chạy chậm hơn.

4

Chắc chắn YourKit ... Nó đã có thể mở 4 hợp đồng biểu diễn đống rác chỉ với 1g đống được sử dụng. Trong khi Jprofiler với cùng một phân bổ heap bị rơi!

5

Tôi đã sử dụng cả hai và phiếu bầu của tôi bây giờ chắc chắn là JProfiler (trong phiên bản hiện tại 6) vì nó dễ sử dụng hơn và có nhiều tính năng bổ sung hữu ích. Trong các phiên bản trước, YourKit có một số ưu điểm với snaphots lớn hơn, nhưng điều này đã biến mất ngay bây giờ.

14

Sau khi đã sử dụng cả hai JProfiler và Yourkit gần đây, tôi thấy rằng bộ nhớ của bạn vượt trội hơn rất nhiều so với phân tích vấn đề bộ nhớ và rất thích jprofiler để phân tích hiệu suất. Phân tích bộ nhớ của bộ nhớ của bạn dường như dễ dàng và trực quan hơn nhiều.Để phân tích hiệu suất trên bộ công cụ của bạn, tôi đã không thành công trong việc giải quyết bất kỳ vấn đề hiệu suất nào mà tôi đã cố gắng giải quyết với bộ công cụ của bạn. JProfiler hiển thị thông tin chính xác và súc tích hơn cho phân tích hiệu suất với số lượng lời gọi phương thức chính xác và thời gian phần trăm được sử dụng trong mỗi phương pháp. Tôi chưa tìm thấy điều này trong bộ nhớ của bạn. Có vẻ như bộ công cụ của bạn chỉ cung cấp thông tin lấy mẫu không chính xác trừ khi bạn đang đo lường hàng nghìn lời gọi.

+0

Không chắc chắn nếu nó có thể trong năm 2010, YourKit 12 có tính năng truy tìm ngoài việc lấy mẫu, thực hiện công việc. Cá nhân nó vượt trội so với VisualVM bởi vì nó phân tích thời gian dành cho các đối tượng thời gian chạy được tạo ra như các trình soạn thảo dựa trên myBatis – lyomi

5

Với Java 7 Update 40, Oracle bao gồm Java mission control (ban đầu là một phần của JRockit JDK) - một công cụ điều chỉnh hiệu suất rất mạnh có thể cạnh tranh với yourkit/jprofiler.

Hãy xem và ngạc nhiên.

0

Chắc chắn YourKit. Nó là intuitiv nhất và ổn định!

Các vấn đề liên quan