Unicorn Rails – 在生产模式下启动时占用100%的CPU

我们正在使用Unicorn_Rails + nginx。 它在我的系统中的开发模式和生产模式下运行良好(4GB Ram,Intel(R)Core(TM)2 Duo CPU P8600 @ 2.40GHz)我可以在本地系统中启动10个工作人员但是无法启动超过2个生产中的任何情况有时它都可以工作,但需要等待15-20 mts启动unicorn_rails时始终需要99.6%的CPU

英特尔(R)Xeon(R)CPU E5507 @ 2.27GHz,但它挂在亚马逊(m1.small实例)1.73 GB RAM

我发现没有人谈论在任何地方使用unicorn_rails的慢启动…

Rails启动是CPU限制的,它(几乎)总是一直使用100%的CPU。 看起来你试图在该实例上加载的负载太大; 每个CPU核心只需要1个工作者,m1.small只有一个。

当您尝试启动10个工作程序时,它们共享CPU和I / O,并且许多I / O请求总是会降低子系统的速度。 您可以在config/unicorn.rb添加preload_app true子句; 这应该会降低启动时间,但在这样的实例上你真的不需要10个工作人员。