首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置nginx和PHP5-FPM

配置nginx和PHP5-FPM
EN

Server Fault用户
提问于 2012-05-01 10:48:47
回答 1查看 241关注 0票数 0

我有一个带有一个CPU核心的VPS,当我在搜索一些关于配置nginx和php5-fpm的很好的文档时,我经常碰到这样的东西:“我有一个双核CPU,所以我将把它限制在两个进程上。”

现在我的问题是,由于我有一个核心,它是一个好主意限制nginx (以及php5-fpm )到一个进程?如果我是正确的,这应该不是多线程nginx架构的问题吗?

目前,服务器似乎运行良好,但负载非常低,当使用AB从我的家庭连接,我得到一个超时后,499连接-但我不完全确定为什么它超时(我的整个系统冻结)。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2012-05-01 11:38:46

在互联网上阅读东西的问题是,它通常没有有用的理由(如果你幸运的话),不适用于你的情况,或者是彻头彻尾的简单错误(到目前为止最常见)。

如果您的请求处理在fpm工作人员中完全是CPU绑定的,那么是的,每个核心拥有一个以上的进程并不能提高吞吐量。但是,这是一个非常罕见的场景--通常您的PHP脚本是命中DB,或者读取文件系统上的东西,或者建立外部连接来获取其他数据,或者什么的。所有这些都是CPU时间,如果每个核心只有一个fpm工作人员,就会被浪费掉。

您的环境的正确配置是“了解您的应用程序”和实验的混合体。我会在一个核心上尝试使用两个fpm工作人员,看看在负载下会发生什么(实际负载,而不是ab负载)。如果CPU是完全固定的,那么您所做的CPU工作可能比所能处理的要多,您应该将它拨回一点(或者只需要获得更多的CPU)。如果您在吞吐量上达到最大,但是CPU仍然相当空闲,那么您可以增加工作人员的数量,直到CPU接近最大值为止。

当然,这假设机器上没有太多其他东西需要CPU时间。您必须给nginx一些CPU时间,如果您有一个数据库或任何东西在那里,它也需要一个检查,但足够高兴的是,当您看到CPU上升与工人计数。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/384876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档