Tob*_*ede 5 ubuntu tuning nginx ruby-on-rails phusion-passenger
我有一个被证明有问题的 Nginx 和乘客设置。
在相对较低的负载下,服务器似乎得到了备份并开始将这样的结果搅拌到 error.log 中:
connect() to unix:/passenger_helper_server failed
(11: Resource temporarily unavailable) while connecting to upstream
Run Code Online (Sandbox Code Playgroud)
我的乘客设置是:
passenger_min_instances 2;
passenger_pool_idle_time 1200;
passenger_max_pool_size 20;
Run Code Online (Sandbox Code Playgroud)
我已经做了一些挖掘,看起来 CPU 被钉住了。内存使用情况似乎很好,passenger_memory_stats 显示最多使用了大约 700MB,但 CPU 接近 100%。
这足以导致此类错误吗?
我应该减少游泳池的大小吗?我应该查看其他配置设置吗?
任何帮助表示赞赏
其他相关信息:
随着 CPU 接近 100%,并查看 EC2 小型实例的规格,在我看来,您的机器正在交换。查看free -m
启动服务器时的输出,然后在进行一些负载测试时观察它。
来自 Phusion Passenger 的文档
较大的数字会导致较高的内存使用量,但会提高处理并发 HTTP 请求的能力。
您真的需要处理大量并发请求吗?如果是这样,您可能应该投资一个更大的 EC2 实例,然后打开您的passenger_max_pool_size
. 怀疑您需要的数量不会超过乘客为那台小机器提供的默认值 6。
归档时间: |
|
查看次数: |
4551 次 |
最近记录: |