Уэбрик очень медленно отвечает. Как ускорить это? - PullRequest
89 голосов
/ 21 июля 2009

У меня есть приложение Rails, которое я запускаю на своем сервере. Когда я выхожу на удаленный рабочий стол и пытаюсь загрузить приложение, серверу требуется 3-4 минуты, чтобы ответить простой HTML-страницей. Тем не менее, когда я загружаю страницу локально на сервере, страница появляется через секунду. Я попытался пропинговать сервер с моего удаленного рабочего стола, и пинг прошел успешно в течение разумного периода времени.

Кажется, все это началось после того, как я установил базовый клиент Oracle и SQLPLUS. Должен ли я подозревать Oracle? Кто-нибудь испытывал что-либо подобное этому?

Ответы [ 12 ]

0 голосов
/ 28 июня 2014

Это очень поздний ответ, но я потратил большую часть дня на отладку этой самой проблемы, когда Rails работал на Vagrant. Изменение обратного просмотра DNS фактически не улучшило время запроса. Сочетание двух вещей увеличило загрузку моей страницы с ~ 20 секунд до ~ 3 секунд в режиме разработки:

Заменить WEBrick на дворнягу. Мне пришлось использовать предварительную версию, иначе она не установилась бы:

sudo gem install mongrel --pre

Затем добавьте его в мой Gemfile для dev:

group :test, :development do
  gem 'mongrel'
end

Запустил мой сервер вот так:

rails server mongrel -e development

Это отрезало несколько секунд, 5 или 6 секунд, но все равно было очень медленно. Это была глазурь на торте - добавьте это и в Gemfile:

group :development do
  gem 'rails-dev-boost', :git => 'git://github.com/thedarkone/rails-dev-boost.git'
end
0 голосов
/ 25 февраля 2014

В моей , вероятно, редкой ситуации, она работала после того, как я сбросил свои iptables, у нее не было никаких побочных эффектов, потому что у меня не было никаких пользовательских правил (только Ubuntu по умолчанию разрешает все):

sudo iptables -F
...