Почему gitlab 6 вернулась к единорогу?

Gitlab 6.0 был выпущен вчера. Мне любопытно узнать, почему они перешли на Unicorn из Puma. Версии до 5 использовали Unicorn. Я думал, что переход на Puma был к лучшему.

Есть ли техническая причина для этого коммутатора?

Ответы

Ответ 1

GitLab B.V. CEO здесь, я согласен с Хунли в его комментарии: "Если есть проблемы, то они, скорее всего, будут в коде Gitlab". Мы попытались их исправить, но GitLab является одним из крупнейших приложений Rails с открытым исходным кодом и проблемами, которые трудно воспроизвести. Поэтому в итоге мы выбрали наиболее прагматичное решение, вернувшись к Единорогу. Мы любим Puma, Unicorn и Passenger и считаем, что они все фантастические части программного обеспечения.

Ответ 2

commit 3bc484587 предлагает некоторые подсказки от Mathieu 'OtaK' Amiot:

Мы переключились с Puma в GitLab 5.4 на единорога в GitLab 6.0.

зачем снова возвращаться к Единорогу?

Puma вызвала 100% -ный процессор и большую утечку памяти при запуске многопоточных систем с множеством одновременных пользователей.
Это потому, что люди использовали МРТ. Вы должны использовать JRuby или Rubynius при использовании Puma. Или мир распадается.

Mathieu добавляет в комментарии:

Да, единорог лучше (но больше памяти) на настройках МРТ.
Пума лучше на Рубиния и Джруби, вот и все.

Они не могут заставить людей использовать другие реализации Ruby Runtime, поэтому они просто вернулись к лучшей настройке для большинства настроек:) -


Возникают легкие споры вокруг:

Многопоточность Puma прекрасно работает с МРТ.
Я говорю об этом как о одном из авторов Ruby Enterprise Edition, поэтому я знаю, что система потоков Ruby наизнанку.
Эван Феникс, автор Puma, также заявил, что с использованием Puma с МРТ отлично работает.

Если есть проблемы, они, скорее всего, будут в коде Gitlab.

Mathieu 'OtaK' Amiot комментарии:

Пассажир не так стабилен, как думает большинство людей. Nginx + Unicorn более устойчив ИМХО. -

Hongli ответы:

У нас много и много крупных пользователей, использующих Phusion Passenger, как с открытым исходным кодом, так и с Enterprise, на ежедневной основе с большой стабильностью и успехом. Думайте New York Times, 37signals, Motorola, UPS, Apple, AirBnB. Некоторые из них даже отказались от Единорога в пользу Пассажира (либо с открытым исходным кодом, либо с Enterprise)


Обновление в августе 2014 года: есть статья о Запуск GitLab 7.1 с использованием Puma вместо Unicorn"