首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nginx/php进程请求是如何进行的?

问nginx/php进程请求是如何进行的?
EN

Server Fault用户
提问于 2012-10-23 15:22:47
回答 1查看 2.2K关注 0票数 0

我目前正在测试一个新的nginx/php-fpm,我在一个新的VPS上安装了4GB的RAM:

来自我的php-fpm进程池配置:

代码语言:javascript
复制
pm = static
pm.max_children = 10

我有一个简单的load.php脚本,它模拟了一个长时间运行的mysql查询:

代码语言:javascript
复制
<?php
echo sleep(5);
echo "you see me after 5 seconds";
?>

然后对这个脚本进行加载,如下所示:

代码语言:javascript
复制
ab -n 1000 -c 100 http://mydomain.com/load.php

当我跟踪nginx访问日志时,我一次看到一小部分请求,而不是我所期望的高吞吐量。

数据到底是如何从nginx流向php后端和后端的?

如果我有10个静态子进程,那么php后端会在接受另外10个请求之前处理10个请求(每个5秒)吗?当然,坐着看那些看似大致如此的日志--这是正确的吗?

如果是这样,并且我正在运行一个php应用程序,如果在DB端(因此在php进程时间层)相当繁重,那么我应该仅仅增加子进程的数量以加快并发处理请求所需的时间吗?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2012-10-23 15:26:29

pm.max_children意味着您只能同时运行那么多php进程。如果它们都需要很长时间,那么您将被捆绑,其他传入连接必须等待。要解决这个问题,请将php池的大小增加到给定资源约束的最大限度。

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

https://serverfault.com/questions/441400

复制
相关文章

相似问题

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