Почему 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"