2010-02-03 28 views
5

Sử dụng Apache 2.2 và mod_perl trên Ubuntu 8.04 Tôi có một số ứng dụng trên máy chủ. Sử dụng Apache ở chế độ đặt trước. Thông thường mọi thứ đang hoạt động tốt nhưng thỉnh thoảng tôi thấy một trong các quy trình Apache sử dụng 100% CPU.Làm cách nào để theo dõi các yêu cầu chuyên sâu của CPU trong mod_perl?

Có một số trang web trên máy chủ có VirtualHosts của riêng chúng và có là và máy chủ SVN đang chạy qua Apache.

Làm cách nào để theo dõi ứng dụng nào và cuộc gọi nào trong ứng dụng đó tạo ra tải cao?

Trả lời

4

Devel::NYTProf là khá nhiều hồ sơ hàng đầu cho Perl ngay bây giờ, với Devel::NYTProf::Apache để dễ dàng lập hồ sơ ứng dụng mod_perl.

Xem Tim Bunce: NYTProf v2 – A major advance in perl profilers để có tổng quan đẹp với hình ảnh.

Thật không may, Devel :: NYTProf không được đóng gói sẵn trong Ubuntu Hardy. (Nó được đóng gói sẵn trong Jaunty, Karmic, Lucid, và sau này.) Bạn có thể sử dụng một số thủ thuật apt để cài đặt các gói từ các bản phân phối đó, cài đặt từ CPAN hoặc chỉ nâng cấp ;-)

+0

khi tôi biết (các) yêu cầu nào gây ra sự cố tôi có thể cố gắng lập hồ sơ nhưng thêm profiler vào tất cả các yêu cầu âm thanh như ý tưởng tồi - ít nhất là vào cảnh đầu tiên – szabgab

0

Nếu bạn có kho lưu trữ subversion và ủy quyền dựa trên đường dẫn được kích hoạt trong cấu hình apache của bạn, bạn sẽ thấy một số tác vụ apache CPU dài, chạy cao. Bạn cũng có thể có khiếu nại từ người dùng subversion về các cam kết và cập nhật chậm, cùng với 503 lỗi và subversion phàn nàn về các câu trả lời SSL bị cắt ngắn. Nếu đây là trường hợp, tôi sẽ làm cho subversion nghi ngờ chính của tôi.

0

Sử dụng định dạng nhật ký tùy chỉnh hoặc viết một PerlLogHandler ghi lại thông tin yêu cầu cùng với thông tin sử dụng tài nguyên và PID. Xem, ví dụ, số Web Techniques Column 48 của Randal.

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