2012-03-22 9 views
13

だからシーダープラットフォームのルックスで私の一般的なルータのログは、私は用語queuewaitserviceHeroku |ルータのログを読み取る方法

私の最初の思考の私の理解を確認したい

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 

のようになります。その場所:

  • キュー:キューの名前ifどのくらいの要求がルータで待機している(新Relicの中で要求キューイング)
  • サービス:それは実際に(queing時間を含まない要求を処理するために、あなたのアプリケーションを取るどのくらいbackground_jobまたはresque
  • を待つを使用して)

しかし、私の私のログにを待つ常には0msです。重要な残高があっても。

私の定義は間違っていますか?

+0

待機時間は常に0msですが、キューも0の場合、これ以外のバックログがあることをどのように知っていますか? –

+0

例えば、crossdomain.xml(静的なファイル)を提供してください。低負荷では10ms以内に応答します。高負荷では、30秒のタイムアウトまで6000ms +すべての時間がかかることがあります。私は、その時間の大半が待ち行列に入っていて、待つことを期待しています。 – Jonathan

+0

さらに、dynosを追加すると、サービス時間が短縮され、その逆もあります。 – Jonathan

答えて

12
  • キュー:dynoによって処理されるのを待っている要求の数。
  • 待機:この要求が処理される前にキューに入っていた時間。
  • サービス:要求の処理時間。

合計応答時間は、待機+サービスです。

+0

"サービス"の意味をもう少し説明できますか?それは、応答を送る前にスクリプトを実行するのにかかった時間ですか、それとも何らかの内部タイマーで、1つのコードと何の関係もないのでしょうか? –

+0

"応答を送信する前にスクリプトを実行するのに要した時間" - これ。 –

+0

警告として、「サービス」時間はネットワーク時間を考慮しているようです。これは、IISログの「時間がかかる」仕組みとほとんど同じです。 http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/676400bc-8969-4aa7-851a-9319490a9bbb.mspx?mfr=true 私はこれをいくつかの長時間実行しているアイテム(〜 20秒以上)を「サービス」に基づいて計算し、その時間のほぼ100%が「ネットワーク」時間であることを示す新しい遺物の「実ユーザモニタリング」によって与えられた内訳と比較する。 – Jody

関連する問題