Как я могу провести диагностику плохо работающего Rails-приложения, работающего на mysql? - PullRequest
3 голосов
/ 21 января 2011

Я взял на себя обслуживание приложения Rails 2.3.4, работающего на ruby ​​1.8.7 и mysql.Приложение представляет собой модифицированный сайт Radiant CMS 0.8.1 с пользовательскими расширениями.В настоящее время производственная среда испытывает частые периоды медленного, а иногда и не реагирования.В это время я заметил, что использование процессора mysql прыгает через крышу.Веб-сайт имеет международную аудиторию, и на момент его создания масштабирование сайта не учитывалось.В настоящее время база пользователей находится на отметке 4600 и продолжает расти.Какие первые шаги я могу предпринять для диагностики низкой производительности как в Rails, так и в mysql?

Спасибо, Майк

Ответы [ 2 ]

3 голосов
/ 21 января 2011

Хотя это и не относится к Rails, я бы рекомендовал использовать журнал медленных запросов MySQL и отслеживать те запросы, которые отправляет приложение Rails (отметьте log/production.log).

1 голос
/ 21 января 2011

В последнем месте, где я заключил контракт, использовался инструмент под названием query_reviewer. Это плагин Rails, который в режиме разработки анализирует каждый запрос и выдает предупреждения в пользовательском интерфейсе, сообщая о любых возможных проблемах. Мне понравилось, потому что вам не нужно было переключаться между вашим приложением и журналом или другими инструментами тестирования.

https://github.com/dsboulder/query_reviewer

Другим полезным инструментом является New Relic - он бесплатен для разработки, если вы просто используете его на своем локальном компьютере. Он анализирует не только SQL, включая рендеринг представлений и другие потенциальные проблемы с эффективностью.

http://newrelic.com/

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