我想知道将Rails应用程序从Apache2 + Passenger移植到Nginx + Passenger是否值得。我们这样做的主要原因是为了释放RAM,或者在给定的RAM数量上处理更多的请求。
有没有人知道Nginx + Passenger在使用RAM方面的效率有多高?
发布于 2011-04-09 01:43:45
答案高度依赖于:
设置nginx + Passenger非常简单。只需在云服务器或虚拟机上快速安装每个环境,并针对它们运行一些基准测试工具。
不过,一般来说,最大的RAM消耗是您的Rails应用程序,而不是web服务器。如果你关心RAM的使用,你最好把时间花在比较Ruby实现上,或者减少你的代码使用的gem/plugin/libraries的数量,或者减少你使用的web服务器模块的数量。
Nginx的某个did a benchmark与每个并发连接的Apache内存利用率。Nginx显然是赢家。但应该注意的是,在大约4000个并发连接时,该图上的最高内存利用率仅为~40MB。在大多数情况下,40MB的内存占用甚至比单个Rails实例都要小,而且您不太可能在一台服务器上实现4000个并发rails请求。因此,切换到Nginx是值得的,但首先,如果您还没有切换到Ruby Enterprise Edition,那么请尝试减少应用程序的内存占用,因为您的Rails应用程序将比这两个web服务器使用更多的内存。
例如,我在生产环境中运行Apache/Passenger/REE,根据passenger-memory-stats的报告,即使使用REE改进的内存占用,我的Rails应用程序使用的内存也是Apache的13倍。

https://stackoverflow.com/questions/5598495
复制相似问题