2012-03-22 9 views
13

Vì vậy, log bộ định tuyến điển hình của tôi trên Cedar nền tảng ngoại hình có thể trông nhưHeroku | làm thế nào để đọc các bản ghi định tuyến

2012-03-22T18:26:34+00:00 heroku[router]: GET [my_url] dyno=web.9 queue=0 wait=0ms service=228ms status=302 bytes=212 
2012-03-22T18:26:36+00:00 heroku[router]: GET [my_url] dyno=web.7 queue=0 wait=0ms service=23ms status=200 bytes=360 
2012-03-22T18:26:45+00:00 heroku[router]: GET [my_url] dyno=web.30 queue=0 wait=0ms service=348ms status=201 bytes=1 

Tôi muốn xác nhận sự hiểu biết của tôi về các điều khoản queue, waitservice

những suy nghĩ ban đầu của tôi trong đó:

  • hàng đợi: Tên của hàng đợi nếu sử dụng background_job hoặc resque
  • chờ: bao lâu được yêu cầu chờ đợi trong các bộ định tuyến (Request Queuing ở New Relic)
  • dịch vụ: bao lâu nó thực sự có ứng dụng của bạn để xử lý các yêu cầu (không kể thời gian queing)

Nhưng tôi chờ trong nhật ký của tôi là luôn 0ms. Ngay cả khi tôi có tồn đọng đáng kể.

Định nghĩa của tôi có sai không?

+0

Bạn nói rằng thời gian chờ của bạn luôn là 0ms, nếu hàng đợi cũng là 0, làm thế nào để bạn biết bạn có tồn đọng ngoài điều này? Ví dụ: –

+0

Vì vậy, hãy phân phối crossdomain.xml của tôi - một tệp tĩnh, mà trên phản hồi tải thấp trong vòng 10ms. Tại tải cao, nó có thể là 6000ms + tất cả các con đường lên đến thời gian chờ 30 giây. Tôi mong đợi hầu hết thời gian đó sẽ được xếp hàng và chờ đợi. – Jonathan

+0

Ngoài ra, khi tôi thêm nhiều dynos, thời gian dịch vụ sẽ giảm và ngược lại – Jonathan

Trả lời

12
  • Hàng đợi: Số lượng yêu cầu đang chờ xử lý bởi dyno.
  • Đợi: Khoảng thời gian yêu cầu này nằm trong hàng đợi trước khi được xử lý.
  • Dịch vụ: Thời gian xử lý yêu cầu.

Tổng thời gian phản hồi của bạn sẽ đợi + dịch vụ.

+0

Bạn có thể giải thích thêm một chút về "dịch vụ" nghĩa là gì không? Nó có nghĩa là, thời gian cần để chạy qua bất kỳ kịch bản trước khi gửi một phản ứng hoặc là nó một số bộ đếm thời gian nội bộ mà không có bất cứ điều gì để làm với mã một đã viết? –

+0

"thời gian cần để chạy qua bất kỳ tập lệnh nào trước khi gửi phản hồi" - Điều này. –

+0

Để báo trước, thời gian "dịch vụ" dường như tính đến thời gian của mạng. Điều này rất có thể tương tự như cách "thời gian thực hiện" trong các bản ghi IIS hoạt động. http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/676400bc-8969-4aa7-851a-9319490a9bbb.mspx?mfr=true Tôi căn cứ điều này so sánh một số mục chạy dài (~ 20+ giây) theo "dịch vụ" và so sánh với sự cố được "theo dõi người dùng thực tế" của di tích mới chỉ ra gần 100% thời gian đó là thời gian "mạng". – Jody