Rails 3.1 очень медленный в режиме разработки из-за ресурсов, что делать? - PullRequest
40 голосов
/ 23 сентября 2011

После того, как я добавил Sprockets, Rails загружается очень медленно в режиме разработки, что мне нужно сделать, чтобы ускорить его?

Ответы [ 5 ]

51 голосов
/ 24 сентября 2011

Взгляните на https://github.com/wavii/rails-dev-tweaks.

Rails запускает все хуки to_prepare для каждого запроса ресурса Sprockets в режиме разработки.Это включает в себя такие вещи, как автоматическая (повторная) загрузка вашего кода, а также работа с различными драгоценными камнями.

rails-dev-tweaks отключает to_prepare & reloading при любом запросе ресурса (и некоторых других - прочитайте первую часть его README ).Ускоряет вашу среду разработки на огромное количество для любого приличного размера проекта.Это также можно настроить для любых дополнительных запросов, которые вам нравятся

5 голосов
/ 21 января 2013

Обратившись к нескольким результатам Google по этой проблеме, я выяснил, где находится проблема DNS.

Проблема в том, что Rails выполняет обратный поиск. Итак, если вы запрашиваете с прямого IP-адреса или имени хоста в / etc / hosts только машины с браузером, что я делаю часто, потому что я запускаю все в сброшенных виртуальных машинах, и этот IP-адрес не разрешается быстро на сервере dev Rails будет ждать каждого запроса.

Мораль истории? Включите запись / etc / hosts для каждого IP, связанного с вашей разработкой на сервере dev (то есть на сервере, на котором запущены rails). Это значит пойти дальше и сделать запись hosts для каждого поддельного / виртуального / etc ... IP на сервере dev, который вы ожидаете участвовать в тестировании rails, потому что, когда он регистрирует запросы и еще много чего, он выполняет обратный поиск и Вы хотите, чтобы это было быстро.

1 голос
/ 12 августа 2013

Странное решение, которое сработало для меня.Я обычно переходил к своему приложению при разработке через myapp.local: 3000, который был установлен в моем файле hosts.Активы загружались смехотворно медленно.

При переходе к моему приложению через 127.0.0.1:3000 ресурсы загружались быстро, а затем, после однократного использования локального ip, я мог затем перемещаться, используя myapp.local: 3000, и активы загружались супербыстро сейчас.

Хотел бы я сказать вам, почему, но я надеюсь, что это поможет кому-то там.Я на OSX 10.7.5.

0 голосов
/ 23 октября 2012

Также ознакомьтесь с Turbo Sprokets здесь - https://github.com/ndbroadbent/turbo-sprockets-rails3

Выглядит многообещающе.

0 голосов
/ 23 сентября 2011

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

...