Каков наилучший подход для мониторинга производительности сайта в рельсах? - PullRequest
6 голосов
/ 21 марта 2009

Я хотел бы иметь специальную часть административной области, которая показывает список страниц / запросов, которые были медленными в течение последней недели.

Существует ли гем / плагин или другой простой способ реализовать / автоматизировать такую ​​функциональность для платформы Rails?

Ответы [ 4 ]

5 голосов
/ 22 марта 2009

http://www.newrelic.com/features.html

И короткая заставка для RPM:

http://railslab.newrelic.com/2009/01/22/new-relic-rpm

P.S. Я не работаю на New Relic:)

4 голосов
/ 21 марта 2009
0 голосов
/ 21 марта 2009

Первое, что приходит на ум: можно отслеживать время выполнения запросов и, если он проходит некоторый порог, который считается нормальным (возможно, средним), он регистрируется вместе с некоторой информацией профилирования (которая в противном случае отбрасывается).

Возможно также выполнимо профилировать отдельные части запроса (например, получение данных из базы данных, логика и т. Д.), А затем снова сравнить время со средними значениями.

Одна ловушка заключается в том, что некоторые страницы / запросы должны обрабатываться значительно дольше других из-за разницы в объеме «работы», которую они выполняют. Для того чтобы избавиться от постоянного потока обычных запросов, которые выполняются дольше по конструкции, нужно было бы сохранить большое количество средних значений для разных частей сайта / разных типов запросов.

Это очень простой подход, но я уверен, что есть лучшие способы сделать это.

0 голосов
/ 21 марта 2009

Да, это похоже на хорошую идею. Я никогда не видел этого раньше, но я думаю, вы могли бы просто записывать время, которое каждый запрос занимает в БД; тогда простой запрос покажет вам самые медленные запросы.

То, как вы оптимизируете свое приложение, полностью зависит от вашего кода; Я думаю, для этого нет серебряной пули.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...