2016-06-01 5 views
2

Первый запрос к моему устройству rails чрезвычайно медленный во всех средах.Первый запрос на приложение rails чрезвычайно медленный

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

То, что я сделал часы, прежде чем я заметил, что мое приложение оказалось медленным:

  • я бездельничал в production.rb (НЕ в development.rb): Я играл с config.serve_static_assets = true

  • Я выполнил ряд задач, чтобы диагностировать, почему конвейер ресурсов не загружал мои таблицы стилей и изображения в производство (Как рейк активы: прекомпиляции RAILS_ENV = производство и грабли: чистые активы: прекомпиляцию).

После этого я, очевидно, пытался отменить все изменения, которые я сделал, но по какой-то причине мое приложение теперь медленно в развитии, в то время как это было прекрасно до того.

Как это исправить?

Заранее спасибо :-)

UPDATE 1

Когда я отправить запрос на локальный хост: 3000, только после 12-13 секунд я получаю: Started GET "/" for :: 1 atслучайное время

Оказание поведения нормальное. Все запросы после первого - все в порядке.

UPDATE 2

В старой версии моего приложения, я сделал следующее:

  • Заменить старую «app'-папку с новым одной
  • Замените старый» дб '-файлы с новым
  • Заменить старые «config'-файлы» на новый

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

+0

Вы используете программное обеспечение для управления версиями, такое как git? – spickermann

+0

Я испортил, я не использовал его в то время. Так что это не предпочтительное решение. – ysr1991

+0

Попытка таких вещей, как [Rack-mini-profiler] (https://github.com/MiniProfiler/rack-mini-profiler) - может ли это помочь? Или вы предполагаете обработку запроса _starts_ после длительного периода, а не того, что требуется длительный период? –

ответ

0

Ответ

В производстве на локальном хосте каким-то образом мои активы не служили вверх (в то время как они появляются в общедоступном каталоге после прекомпиляции).

В production.rb: config.serve_static_files = ENV [ ''] RAILS_SERVE_STATIC_FILES присутствует.? было изменено на: config.serve_static_files = истинный или даже config.serve_static_assets = верно.

Это также замедляет первый запрос вниз в среде разработки, по-видимому

-1

У меня эта проблема тоже, и я нашел узкое место. Проблема в реализации OpenSSL :: Random.random_bytes в Windows (см. Это: https://github.com/rails/rails/issues/25805). Он используется для файлов cookie.

Я написал это решение для своей отладочной машины. Но это очень опасно и не должно использоваться в производстве

module OpenSSL 
    module Random 
    def self.random_bytes(length) 
     ::Random.new.bytes(length) 
    end 
    end 
end 
Смежные вопросы