Почему я хотел бы использовать единорога или худого вместо WEBrick для целей разработки? - PullRequest
41 голосов
/ 27 марта 2012

Я недавно обнаружил, что некоторые люди предпочитают использовать unicorn_rails вместо стандартного WEBrick в качестве веб-сервера для разработки приложений на Rails.

Я понимаю, что если бы я хотел использовать единорога в производстве, то, возможно, имело бы смысл попробовать его в разработке, но поскольку конфигурация в производстве отличается, действительно ли это уместно?

Есть ли какое-то реальное, ощутимое преимущество, которое я получил бы от использования thin или unicorn вместо WEBrick для разработки приложения на Rails, например, скорости или некоторых дополнительных функций? Или это просто вопрос личных предпочтений?

Ответы [ 4 ]

18 голосов
/ 27 марта 2012

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

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

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

5 голосов
/ 28 апреля 2014

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

WEBrick не поддерживает субдомены. Поддержка HTTPS довольно хакерская реализация .

Так что, если у вас есть приложение SaaS, использующее субдомены, или если вы просто хотите иметь субдомен admin / api / ..., то WEBrick не подходит. Существует POW для Mac OS X, но это не будет работать для разработчиков Linux.

3 голосов
/ 09 апреля 2012

Мой личный опыт показывает, что Unicorn намного быстрее, чем WEBrick, при использовании удаленной машины (Ubuntu, 4 ядра, 8G mem, подключение через VPN -> ssh) в качестве среды разработки (как и я) - я вижу subВремя загрузки страницы -1 секунда с Unicorn, а WEBrick занимает от 3 до 5 секунд и более.Я не уверен, почему, это может иметь больше общего с моей сетью, чем с чем-либо еще, но это то, что я лично вижу.

Я не использовал Thin для разработки, так как я читал, что этотребует дополнительного драгоценного камня, чтобы позволить перезагрузку класса в режиме разработки (я не могу лично подтвердить точность этого).Кроме того, я больше знаком с Unicorn и использую его в производстве.

1 голос
/ 14 июня 2013

Мой личный опыт показывает, что WEBrick быстрее в моей среде разработки, чем Unicorn и Thin (OS X) в довольно большом приложении Rails (множество гемов, маршрутов и т. Д.). Но вы должны измерить его сами, чтобы увидеть ваше приложение на вашем компьютере (я тестировал с помощью ab и с помощью инструментов разработчика Chrome).

Однако использование одного и того же сервера в производстве и разработке - очень хорошая идея.

...