【发布时间】:2016-09-08 08:06:46
【问题描述】:
在一些罕见的高峰使用期间,我的服务器用尽了可用的 PHP5 FPM 可用子级(我不能进一步增加这个数字,否则会有内存不足的风险)。如果最终用户在极少数情况下收到 503 或 504 消息,我可以接受,但我希望确保某些 IP 地址范围始终可以访问到我的服务器的特定客户端 API 请求。
我有什么方法可以指定 fastcgi 通过来自某些 IP 范围的请求的限制,然后允许额外的 5-10 个“保留连接插槽”用于来自另一个 IP 范围的请求?这就是我的想法:
php5-fpm max children: 100
max fastcgi connections for standard IP range: 90
max fastcgi connections for "priority" IP range: 100
基本上为某些客户端保留最后 10 个子进程。
我正在考虑尝试使用 worker_connections / worker_processes 来实现这些限制,但是他们的 context 是 events 是否没有办法让它们因请求 IP 而异?
【问题讨论】:
-
我认为serverfault.com 会是一个更好的去处
-
这很公平,但看起来这里有 20,000 个标记为 nginx 的问题,而那里只有 9,000 个。