Я на Rails 3.1.1 и заметил, что мое приложение стало очень медленным (15 секунд) в режиме разработки.Посмотрите мой список «Нет» в Firebug ниже:
Я сделал несколько вещей, таких как:
- сокращение количества драгоценных камней
- превращение кэширования класса в
- превращение отладки актива в false
- превращение сжатия актива в true
- установка гема rails-dev-boost
Может быть, были некоторые улучшения, но ничто не помогло ему идти так быстро, как я ожидал при запуске с localhost.То есть до тех пор, пока я не закомментировал строку конфигурации своих наблюдателей в application.rb
:
config.active_record.observers = :item_observer, :loan_observer, :friendship_observer, :message_observer, :user_observer
А затем приложение снова быстро загрузилось (~ 1 сек) времени загрузки.Смотрите список пожарных:
Другие примечания:
- Когда вы работаете на Heroku, это быстро (~ 1 сек), как выбуду ожидать.
- Я использую postgresql и Thin;Я не пробовал использовать другие БД, чтобы увидеть, существует ли эта проблема.
- Когда я закомментировал только последнего наблюдателя, user_observer, время загрузки сократилось примерно вдвое.
- Время загрузки, напечатанное в
development.log
не отражает фактическое время загрузки.Активы были помечены как 304 Не изменены (0 мс), они действительно потребовали некоторое время для загрузки. - Да, я использую конвейер активов
Золотой вопрос: Является ли простой акт регистрации наблюдателей причиной медленной загрузки активов?И что с этим можно сделать?