我有一个Nginx和Passenger的设置,certificate是有问题的。
在相对较低的负载下,服务器似乎得到了备份,并开始搅动结果,如error.log:
connect() to unix:/passenger_helper_server failed (11: Resource temporarily unavailable) while connecting to upstream
我的乘客设置是:
passenger_min_instances 2; passenger_pool_idle_time 1200; passenger_max_pool_size 20;
我已经做了一些挖掘,看起来像CPU挂钩。 内存使用情况看起来很好,passenger_memory_stats显示最多使用700MB左右,但CPU接近100%。
这足以造成这种types的错误?
我应该把游泳池的尺寸缩小一些吗? 是否有其他configuration设置我应该看?
任何帮助赞赏
其他相关信息:
随着CPU接近100%,看着EC2小实例的规格,这听起来像你的机器交换。 在启动服务器的同时查看free -m的输出,然后在进行一些负载testing时观察它。
从Phusion Passenger的文档
数量越大,内存使用率越高,但是处理并发HTTP请求的能力也会提高。
你真的需要处理很多并发请求吗? 如果是这样,你可能应该投资一个更大的EC2实例,然后调高你的passenger_max_pool_size 。 它怀疑你将需要超过乘客提供的那个小机器的默认值6。