2010-10-07 21 views
11

Nếu một trang mất hơn một vài giây để xử lý, tôi muốn Apache đăng nhập URL đó ở đâu đó. Điều này có thể không? Tôi có rất nhiều trang web, vì vậy tôi đã tìm kiếm một cách tự động để làm điều này trái ngược với mã độc quyền cho mỗi trang web.Có cách nào để yêu cầu nhật ký Apache chậm không?

Trả lời

21

Hãy xem http://httpd.apache.org/docs/2.2/mod/mod_log_config.html. Bạn có thể thiết lập nhật ký tùy chỉnh bao gồm thời gian cần để phục vụ yêu cầu.

Ví dụ:

LogFormat "%h %l %u %t \"%r\" %>s %b %D" common-time 

có thêm thời gian trong micro nó mất để phục vụ các yêu cầu như trường cuối cùng của logfile của bạn.

Bạn sẽ thêm dòng đó vào httpd.conf của bạn, sau đó trong mỗi virtualhost nơi bạn muốn sử dụng nó, thêm dòng này:

CustomLog logs/access_log_time common-time 

Bạn cũng có thể tạo ra một LogFormat mới chỉ chứa chính xác những gì bạn muốn, có lẽ như thế này:

LogFormat "\"%r\" %D" measure-time 

Trong virtualhost của bạn, bạn có thể có nhiều bản ghi, vì vậy bạn có thể có:

CustomLog logs/access_log common 
CustomLog logs/access_log_time measure-time 

Tất cả những gì đã nói, có một cảnh báo lớn rất lớn. Điều này sẽ chỉ đo thời gian máy chủ phục vụ trang. Nó sẽ không bao gồm thời gian cần để thực hiện bất kỳ javascript nào trong trình duyệt. Nếu bạn cần đo thời gian thực thi javascript, bạn sẽ cần sử dụng công cụ như firebug.

Khi bạn đã có nhật ký, bạn có thể sử dụng một cái gì đó như apachelog để phân tích cú pháp tệp nhật ký để chỉ nhận các yêu cầu mất nhiều thời gian hơn bất kỳ ngưỡng nào bạn muốn sử dụng.

Tôi không chắc liệu có thể chỉ ghi lại các yêu cầu dài và byps bước phân tích cú pháp hay không. Nó có thể là, nhưng tôi có một cảm giác nó sẽ mất một số lượng đáng kể công việc.

+0

Có bất kỳ hậu quả nào để sử dụng điều này trong tệp nhật ký không? Ví dụ, có thêm chi phí trong việc tính toán thời gian phản ứng trước khi nhổ ra một dòng đăng nhập? – laughingbovine

+1

Có thể có phí, nhưng tôi nghĩ bạn phải có một số lưu lượng truy cập khá đáng kể trước khi nó có bất kỳ tác động đáng chú ý nào đến hiệu suất trang web/máy chủ của bạn. Tôi khuyên bạn nên sử dụng [ab] (http://httpd.apache.org/docs/2.2/programs/ab.html) để kiểm tra trước và sau khi thực hiện thay đổi này để bạn có ý tưởng về cách thức hoạt động sẽ thực hiện cho bạn. – bradym

+5

là có cách nào để nói, chỉ đăng nhập nếu đo thời gian là> 1 giây? –

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