我们正在Unicorn下运行
Ruby on Rails Web应用程序.我们的应用程序不受严格的cpu限制(我们有一个带有12个内核的双Xeon E5645系统,峰值负载平均值约为6).我们最初从40名Unicorn工作人员开始,但应用程序内存占用量随着时间的推所以,现在我们必须降低工作进程的数量.我认为标准(cpu核心1的数量)公式也适用于Unicorn,但我的同事试图说服我,我们应该为每个cpu保留更多的Unicorn实例并提供
this link.但是,我不确定为什么我们需要这么花闲置Unicorn进程的内存很多.
我的问题是:每个cpu核心有多个Unicorn实例的原因是什么?是不是因为独角兽的一些建筑特色?我知道忙碌的Unicorn进程无法接受新连接(我们使用UNIX域套接字与Unicorn实例BTW进行通信)但我认为backlog是为了解决这个问题而引入的.是否有可能无论如何都能克服每个cpu规则的2到8个Unicorn实例?