2013-08-23 31 views

回答

9

GitLab BV CEO的文章在這裏,我他同意洪麗的評論,「如果有問題,那麼他們很可能在Gitlab的代碼中。」我們試圖修復它們,但GitLab是最大的開源Rails應用程序之一,以及難以複製的問題。所以最終我們選擇了最實用的解決方案,轉而使用Unicorn。我們喜歡Puma,Unicorn和Passenger,並且認爲它們都是非常棒的軟件。

+0

感謝您的回覆。最後我們有一個官方迴應 – Litmus

28

commit 3bc484587提供了一些線索,從Mathieu 'OtaK' Amiot

我們從Puma在GitLab 5.4切換到獨角獸GitLab 6.0。

爲什麼要再次切換回Unicorn?

在具有許多併發用戶的系統上運行多線程時,Puma導致100%的CPU和更大的內存泄漏。
這是因爲人們使用MRI。使用Puma時,您必須使用JRuby或Rubynius。否則,世界就會分崩離析。

馬修adds in the comments

是的,獨角獸是更好的(但內存更渴望)MRI設置。
彪馬Rubinius更好& JRuby,就是這樣。

他們不能強迫人們使用Ruby運行的其他實現方式,所以他們只是回落到最佳的設置對大多數安裝:) -


燈隨之而來的爭議圍繞:

彪馬的多線程技術與MRI一起工作得很好。
我說這是Ruby企業版背後的作者之一,所以我知道Ruby的線程系統是從內到外的。
Evan Phoenix,彪馬的作者,has also stated that using Puma with MRI works just fine

如果有問題,那麼他們很可能在Gitlab的代碼中。

Mathieu 'OtaK' Amiotcomments

乘客並不像大多數人認爲的那樣穩定。一個nginx +獨角獸更加穩定恕我直言。 -

Honglianswers

我們有很多很多大用戶的使用Phusion客運,開源和企業,每天都在以極大的穩定性和成功。
認爲紐約時報,37signals,摩托羅拉,UPS,蘋果,AirBnB。他們中有些人甚至從麒麟切離贊成客運(無論是開源還是企業)的


更新2014年8月:有關於「Running GitLab 7.1 using Puma instead of a Unicorn

+0

猜你是對的。但是在[版本5.1.0](https://github.com/gitlabhq/gitlabhq/commit/1fe61284afc08796d09f1626a198a1c35f0a62aa)中我找不到從Unicorn切換到Puma的任何推理。 – Litmus

+1

他們轉而使用Puma,因爲它使用的內存少於Unicorn。在實踐中,獨角獸和彪馬都有自己的優點和缺點,它們都沒有嚴格優於其他優點和缺點。如果內存和穩定性是一個問題,那麼用戶也可以使用Phusion Passenger Enterprise,它使用更少的內存*和*更穩定([source](https://github.com/phusion/passenger/wiki/Puma-vs-Phusion -乘客))。 – Hongli

+1

我是這個評論的作者, '那是因爲人們使用了MRI。使用Puma時,您必須使用JRuby或Rubynius。否則,這個世界就會分崩離析。「# 是的,獨角獸在MRI設置上更好(但內存更大)。 Puma在Rubinius和JRuby上更好,就是這樣。他們不能強迫人們使用Ruby Runtime的其他實現,所以他們只是回到了大多數設置的最佳設置:) –