2010-02-08 37 views
8

我在一個相當大的應用程序中遇到了Phusion Passenger的部署問題:在高負載,空閒進程中停滯的進程,實例的慢啓動等等。所以我正在研究獨角獸,我非常喜歡從架構/性能角度。有沒有從Phusion Passenger遷移到Unicorn的簡單說明?

是否有任何易於遵循移植指南從Nginx Phusion乘客到獨角獸?

+0

請記住,在StackOverflow上回答你自己的問題是完全正確的。因爲這個問題差不多有兩週的時間了,所以我想你可能同時也這樣做了。 :) – 2010-02-21 13:42:04

+1

您已經解決了您與Phusion Passenger有關的問題,並且Phusion Passenger現在正在通過改進獲得速度。看到我在這個主題的答案。 – Hongli 2012-10-23 20:16:47

回答

1

因爲Rails的新版本在底層使用Rack,所以在Web服務器之間切換應該相當容易。在開發環境中簡單地啓動Unicorn與您的應用程序時,您遇到了什麼具體問題?

你應該能夠繼續使用Nginx作爲反向代理。從我所收集到的信息來看,Unicorn應該在工作人員之間進行負載平衡,因爲它只有一個監聽套接字/端口,它們共享它們。因此Nginx通常應該被配置爲一個非常簡單的反向代理和資產服務器,沒有負載均衡。 (當然,當在機器上傳播工作人員時)。

您希望解決的應用程序中是否存在對Passenger的特定依賴?或者你是否要求爲Unicorn部署通用指令?

1

這些問題已經在Phusion Passenger中解決。 Phusion Passenger 4完全支持異步進程產卵,提供針對停滯進程的保護,支持滾動重啓等。從架構的角度來看,Phusion Passenger 4採用混合均衡/多線程/多進程設計。這就像Unicorn,Rainbows和Puma之間的合併,但它提供了簡單的配置選項來無縫切換模式。