configurationnginx和PHP5-FPM

我有一个CPU核心的VPS,当我四处寻找configurationnginx和php5-fpm的一些不错的文档时,我经常碰到类似“我有一个双核心CPU,所以我将限制这个2进程..”

现在我的问题是,因为我有一个核心,将nginx(以及php5-fpm)限制为1进程是一个好主意吗? 如果我是正确的,这对multithreadingnginx架构不应该是一个问题?

目前服务器似乎运行正常,但负载是非常低的,当从我的家庭连接使用AB我499连接后,超时 – 但我不完全知道为什么超时(我的整个系统冻结)。

阅读互联网上的东西的问题是,它通常没有有用的理由(如果你是幸运的),不适用于你的情况,或者是完全简单的错误 (迄今为止最常见的)。

如果您的请求处理在fpm worker中完全受CPU限制,那么是的,每个内核有多个进程不会提高吞吐量。 但是,这是非常罕见的情况 – 通常是PHP脚本正在触碰数据库,或者从文件系统读取内容,或者通过外部连接来获取其他数据,或者其他任何内容。 所有这些都是CPU时间,如果每个内核只有一个fpm工作,将会被浪费。

什么是你的环境的正确configuration是“了解你的应用程序”和实验的组合。 我会尝试在一个核心可能两个FPM工作人员,看看会发生什么样的负载(实际负载,而不是负载)。 如果CPU是完全挂钩的,那么你可能会做更多的CPU工作,可以处理,你应该拨回一点(或只是得到更多的CPU)。 如果你的吞吐量是最大的,但是CPU仍然是空闲的,那么你可以增加工作者的数量,直到CPU接近最大。

当然,这里假设机器上没有其他东西需要CPU时间。 你必须给nginx一些CPU时间,如果你有一个数据库或任何其他东西,那么也需要一个参考,但是足够高兴的时候,当你看着CPU时,工人数量。