为什么gitlab 6切换回独角兽?

问题描述 投票:17回答:2

Gitlab 6.0已于昨天发布。我很好奇他们为什么从Unicorn切换到Puma。5之前的版本使用的是Unicorn。我认为改用Puma更好。

此切换是否有技术原因?

ruby-on-rails passenger unicorn gitlab puma
2个回答
12
投票

GitLab B.V.首席执行官,我同意宏利的评论,即“如果有问题,则很可能在Gitlab的代码中出现。”我们试图修复它们,但GitLab是最大的开源Rails应用程序之一,并且是难以复制的问题。因此,最后我们选择了最实用的解决方案,改回Unicorn。我们喜欢彪马(Puma),独角兽(Unicorn)和乘客(Passenger),并认为它们都是很棒的软件。


31
投票

commit 3bc484587提供了一些来自Mathieu 'OtaK' Amiot的线索:

我们从GitLab 5.4中的Puma切换到GitLab 6.0中的独角兽。

为什么再次切换回独角兽?

Puma在具有多个并发用户的系统上运行多线程时,导致100%CPU和更大的内存泄漏。那是因为人们使用了MRI。使用Puma时必须使用JRuby或Rubynius。否则,世界就会崩溃。

Mathieu adds in the comments

是的,在MRI设置上,独角兽更好(但更需要记忆)。在Rubinius和JRuby上,Puma更好,仅此而已。

他们不能强迫人们使用Ruby Runtime的其他实现,因此对于大多数设置,他们只是恢复到最佳设置:) –


随之而来的轻争议:

Puma的多线程在MRI上工作正常。我说这是Ruby Enterprise Edition的作者之一,所以我知道Ruby的线程系统由内而外。Evan Phoenix,彪马的作者,has also stated that using Puma with MRI works just fine

如果有问题,那么很可能在Gitlab的代码中。

话虽这么说,在2020年4月,Puma is now available as an alternative web server to Unicorn with GitLab 12.9((在mbomb007中由the comments提及)

[Mathieu 'OtaK' Amiot comments

乘客并不像大多数人想象的那样稳定。 Nginx + Unicorn更稳定,恕我直言。 –

[Hongli answers

我们每天都有大量使用开放源代码和企业版Phusion Passenger的大型用户,并且具有极大的稳定性和成功性。想想《纽约时报》,37signals,摩托罗拉,UPS,苹果,AirBnB。他们中的一些人甚至转而离开了Unicorn,转而支持旅客(开源或企业级)]


[2014年8月更新:关于“ Running GitLab 7.1 using Puma instead of a Unicorn”的文章]

© www.soinside.com 2019 - 2024. All rights reserved.