标签: max-requests

使用 Nginx 和 PHP-FPM 后,请求永远不会在 pm.max_children 之后排队

一旦池达到 pm.max_children,Nginx 就会在尝试向 PHP-FPM 发送新请求时开始超时。“最大侦听队列”在 php-status 页面中始终为 0。

  • PHP-FPM 5.5.16
  • nginx 1.6.1

以下是 php-fpm 池的示例:

[example]

catch_workers_output = no

; Configure listener
listen = /var/run/php-fpm/example.sock
listen.backlog = 65535
listen.owner = nginx
listen.group = nginx

; Unix user/group of processes
user = nginx
group = nginx

; Choose how the process manager will control the number of child processes.
pm = ondemand
pm.max_children = 10
pm.max_requests = 200
pm.process_idle_timeout = 30s
pm.status_path = /status

; Pass environment variables
env[HOSTNAME] = $HOSTNAME …
Run Code Online (Sandbox Code Playgroud)

php nginx php-fpm max-requests pool

8
推荐指数
1
解决办法
2190
查看次数

Apache2 PHP 站点 - 达到 MaxClients 限制 - 诊断?

我们有一个中等流量的站点(大约每天 20,000 次点击),在 Apache 2.2、Ubuntu 9.10 服务器上运行一个 PHP/MySQL 应用程序,来自 Amazon EC2 c1.small 实例(1.7 Gb 的 RAM)。

我们遇到了网站反复无响应的问题。作为一个肮脏的黑客,我将 MaxClients/ServerLimit 设置为 450。

<IfModule mpm_prefork_module>
KeepAlive           On
KeepAliveTimeout     7
StartServers          5
MinSpareServers       5
MaxSpareServers      10
MaxClients          450
ServerLimit         450
MaxRequestsPerChild   0
</IfModule>
Run Code Online (Sandbox Code Playgroud)

该网站似乎比以前更长,但仍然死亡。检查进程列表,我有(第三列是物理内存,第四列是虚拟大小):

xxxxxxxxx@domU-XXXXXXXXX:/etc/apache2$ ps -eo pid,user,rss,vsz,args | grep apache
 2333 root     11092  39084 /usr/sbin/apache2 -k start
 3704 www-data 11060  41292 /usr/sbin/apache2 -k start
 3826 www-data 10016  39844 /usr/sbin/apache2 -k start
 3954 www-data 11976  41612 /usr/sbin/apache2 -k start
 4061 www-data 11844  41668 /usr/sbin/apache2 …
Run Code Online (Sandbox Code Playgroud)

tuning max-requests apache-2.2

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

max-requests ×2

apache-2.2 ×1

nginx ×1

php ×1

php-fpm ×1

pool ×1

tuning ×1