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
, wait
và service
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?
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ụ: –
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
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