2009-04-29 28 views
5

Gần đây, chúng tôi đã đẩy một ứng dụng web (ứng dụng web tomcat 5.5.x) vào sản xuất và nó bắt đầu thể hiện hành vi kỳ lạ ngày nay. Chúng tôi không thấy hành vi này trong bất kỳ môi trường phát triển hoặc tiền sản xuất nào.tác động hiệu suất của jvmti khi trình gỡ lỗi không được kết nối?

Chế độ xem duy nhất của chúng tôi vào hệ thống sản xuất trong thời gian chạy là ghi nhật ký. Mặc dù họ có thể cho chúng tôi biết điều gì đã xảy ra nhưng họ thực sự không thể giúp chúng tôi chẩn đoán tại sao nó lại xảy ra.

Chúng tôi phải tải lại ngữ cảnh hai lần hôm qua để giải quyết vấn đề.

Tôi đang cân nhắc bắt đầu máy chủ tomcat sản xuất với jpda đang hoạt động. Điều này sẽ cho phép tôi kết nối một trình gỡ lỗi với ứng dụng nếu vấn đề được tái phát hiện (sau khi loại bỏ tomcat khỏi nhóm các máy chủ phục vụ các yêu cầu của người dùng).

Bạn thanh toán rõ ràng một hình phạt hiệu suất với jpda khi trình gỡ lỗi được kết nối. Tuy nhiên, tôi đã tự hỏi những gì "chi phí" là khi một trình gỡ lỗi không được kết nối? Tôi nghi ngờ rằng các chi phí liên quan đến "nghe" cho một trình gỡ lỗi có thể là khá tối thiểu. Trước khi tôi dành một vài giờ để đo lường hiệu suất tôi đã hy vọng rằng ai đó có thể chỉ cho tôi tài liệu có thể làm rõ điều này?

phiên bản java "1.5.0_17" Java (TM) 2 Runtime Environment, Standard Edition (xây dựng 1.5.0_17-b04) Java HotSpot (TM) 64-Bit Server VM (xây dựng 1.5.0_17-b04, hỗn hợp mode)

trên RHEL 5.3

Cảm ơn!

Carlos

Trả lời

1

Tôi không có câu trả lời định lượng, nhưng tác động hiệu suất rất nhỏ; nó có kiến ​​trúc rất giống với DTrace, và về cơ bản nếu bạn không kết nối một công cụ bên ngoài và kích hoạt các sự kiện, các điểm kiểm tra phải làm rất ít công việc; họ cũng làm rất ít công việc cho các lớp sự kiện không hoạt động.

+0

Tôi không đồng ý rằng tác động hiệu suất là rất nhỏ, tôi chỉ chạy Liferay trên tomcat với jpda đang hoạt động và yêu cầu xử lý http hơn 10 lần nữa – lisak

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