rails пытается решить проблему задержки на моем компьютере для разработки - где я могу увидеть журнал запросов веб-сервера? - PullRequest
0 голосов
/ 27 марта 2012

У меня много задержек при запуске webrick на моей машине разработки (localhost). Каждый раз, когда браузер делает запрос, серверу требуется около 8-9 секунд, прежде чем он показывает содержимое базы данных, которая содержит всего 34000 списков текста. , вывод в окно браузера.

Я хочу попутно выяснить, что происходит.

С чего мне начать процесс устранения неполадок? Я думал, что первым делом нужно будет отслеживать журналы веб-сервера, чтобы увидеть запросы. Но где я могу найти их на моей машине для разработки?

Я знаю, что могу найти журналы apache на моей машине в

/var/log/apache2/access_log

но Rails не запускает apache, верно? Он запускает вебрик на порт 3000

Пожалуйста, помогите.

Ответы [ 2 ]

1 голос
/ 28 марта 2012

Когда вы запускаете rails в режиме разработки, например:

rails s

.. обычно он запускает WEBrick автоматически в качестве процесса переднего плана и печатает тип информации, которую выИщите консоль для каждого запроса клиента.Вы можете проверить / настроить некоторые параметры ведения журнала, отредактировав:

config / environment / development.rb

Поскольку WEBrick является веб-сервером по умолчанию, Apache не имеет ничегоделать с этим, если вы не настроили свою среду для этого.Как вы упомянули, по умолчанию используется порт 3000.

Более новые версии Rails также могут автоматически регистрировать план запросов к базе данных для запросов, требующих много времени для возврата.

# Записыватьплан запросов для запросов, выполняющих более чем это (работает

# с SQLite, MySQL и PostgreSQL)

config.active_record.auto_explain_threshold_in_seconds = 0.5

Вы также должныпроверьте правильность индексации в вашей конкретной базе данных на основе схемы и запросов, которые вы пытаетесь оптимизировать.

0 голосов
/ 28 марта 2012

да, вы правы, rails использует свой собственный веб-сервер, webrick на самом деле является простым веб-сервером HTTP, вы можете просмотреть его журнал, когда вы запускаете rails s , используйте его только для локальной разработки.если у вас большой объем данных, я бы посоветовал использовать mongrel или ph.passenger с apache, эта ссылка проведет вас через

http://www.gonfio.com/installing-ruby-rails-and-configuring-mongrel-ubuntu

EDIT

для ускорения самого Вебрика, установите

:DoNotReverseLookup => false,

на

:DoNotReverseLookup => true,

, который находится в /usr/lib/ruby/1.9.1/webrick/config.rb

...