Sidekiq улучшает мой мониторинг производительности в New Relic

Помощь! Недавно я начал внедрять Sidekiq (https://github.com/mperham/sidekiq) в своем приложении Ruby. Особого падения производительности не заметил. Однако в New Relic, на моей странице мониторинга, кажется, что есть дополнительное влияние на мой обзорный график, где кажется, что время БД просто обгоняет весь стек слоев времени отклика приложения.

Уточнение: после моего последнего развертывания внезапно мой обзорный график не показывает время Ruby и целую кучу времени базы данных, но мое использование базы данных не изменилось, и я уверен, что мое приложение обслуживает веб-запросы. Что может быть причиной этого?


person dirty_joker    schedule 07.05.2013    source источник


Ответы (2)


Наиболее распространенная причина этой проблемы заключается в том, что фоновые задания, которые не обслуживают напрямую веб-запросы (например, Resque, Sidekiq, DelayedJob или другие скрипты с ручным управлением, такие как задачи rake), обрабатываются агентом New Relic с тем же именем приложения, что и веб приложение. Когда это происходит, время базы данных, используемое фоновой задачей, объединяется с показателями веб-приложения.

Обычно самое простое решение — отделить фоновые задачи от основного приложения, заставив их отчитываться под другим именем приложения. Вы можете сделать это, установив для переменной среды NEW_RELIC_APP_NAME имя пользовательского приложения при запуске фоновых рабочих процессов.

В Heroku вы можете сделать это, добавив NEW_RELIC_APP_NAME='<your name> (background)' к команде, используемой для запуска фоновых рабочих процессов в вашем Procfile. В других средах вы можете аналогичным образом отредактировать команду, используемую для запуска фоновых рабочих процессов.

person Community    schedule 07.05.2013

Я не думаю, что New Relic работает с SideKiq.

person Nasty Mahoney    schedule 07.05.2013
comment
Можно цитату, пожалуйста? Добро пожаловать в StackOverflow! - person Juno Woods; 08.05.2013
comment
Это работает для меня (но по какой-то причине потребовалось немного времени, чтобы начать). - person Thibaut Barrère; 19.05.2014