Героку | как читать логи роутера

Таким образом, мой типичный журнал маршрутизатора на платформе Cedar может выглядеть так:

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

Я хочу подтвердить свое понимание терминов queue, wait и service

Мои первоначальные мысли, где это:

  • queue: имя очереди при использовании background_job или resque.
  • wait: как долго запрос ожидает в маршрутизаторе (Очередь запросов в New Relic).
  • обслуживание: сколько времени на самом деле требуется вашему приложению для обработки запроса (не включая время ожидания в очереди).

Но мое ожидание в моих журналах всегда 0 мс. Даже если у меня есть значительное отставание.

Мои определения неверны?


person Jonathan    schedule 22.03.2012    source источник
comment
Вы говорите, что ваше ожидание всегда равно 0 мс, если очередь также равна 0, как вы узнаете, что у вас есть отставание за пределами этого?   -  person Douglas F Shearer    schedule 22.03.2012
comment
Так, например, возьмите мой crossdomain.xml — статический файл, который при низких нагрузках отвечает в течение 10 мс. При высоких нагрузках это может быть 6000 мс+ вплоть до тайм-аута 30 с. Я ожидаю, что большую часть этого времени я буду стоять в очереди и ждать.   -  person Jonathan    schedule 22.03.2012
comment
Кроме того, когда я добавляю больше дино, время обслуживания уменьшается, и наоборот.   -  person Jonathan    schedule 23.03.2012


Ответы (1)


  • Очередь: количество запросов, ожидающих обработки динамометром.
  • Ожидание: время, в течение которого этот запрос находился в очереди перед обработкой.
  • Сервис: время обработки запроса.

Ваше общее время ответа будет ожидание + обслуживание.

person Douglas F Shearer    schedule 22.03.2012
comment
Можете ли вы объяснить немного больше, что означает служба? Означает ли это время, которое потребовалось для запуска любых сценариев перед отправкой ответа, или это какой-то внутренний таймер, который не имеет ничего общего с написанным кодом? - person dsp_099; 17.07.2012
comment
время, необходимое для выполнения любых сценариев перед отправкой ответа - This. - person Douglas F Shearer; 25.07.2012
comment
В качестве предостережения, время обслуживания, похоже, учитывает время сети. Это, скорее всего, похоже на то, как работает время в журналах IIS. Microsoft. com/technet/prodtechnol/WindowsServer2003/Library/IIS/ Я основываю это на сравнении некоторых длительно работающих элементов (~ 20+ секунд) в зависимости от службы и сравнении с разбивкой, полученной при мониторинге реальных пользователей новой реликвии, которая указывает, что почти 100% этого времени приходится на сетевое время. - person Jody; 04.10.2012
comment
Я могу подтвердить вышеизложенное - и если вы используете конечную точку SSL Heroku, вы, похоже, сильно пострадали. Я вижу отличные показатели в New Relic для моего приложения, но журналы и Blitz.io согласны с тем, что производительность падает примерно при 50 запросах в секунду на динамометр. - person Thom; 17.01.2013
comment
Я не вижу информацию об очереди в журналах Heroku. Вам нужно как-то включить ее? Или это убрали.. - person Inc1982; 28.03.2013
comment
Возможно, они удалили это, поскольку изменили статистику после того, как Хипманк призвал их опубликовать вводящую в заблуждение статистику. Взгляните на некоторые из последних сообщений в блоге Heroku. - person Douglas F Shearer; 28.03.2013
comment
Как вы получили эти определения? Может ли кто-нибудь предоставить URL-адрес некоторых документов? Я вижу devcenter.heroku.com/articles/logging, и это не точно с определениями. - person dfrankow; 08.04.2021