PHP-FPM长轮询配置
假设我对php fpm有以下配置:PHP-FPM长轮询配置,php,fpm,Php,Fpm,假设我对php fpm有以下配置: pm = dynamic pm.start_servers = 10 pm.max_children = 400 pm.min_spare_servers = 8 pm.max_spare_servers = 16 pm.process_idle_timeout = 10s 还可以说,每个用户都必须有一个无限长的轮询请求。如果我有10000个请求的限制,并且我有10000个用户连接到我的网站,这是否意味着我的服务器将永远挂起 另一个问题:服务器和子项与同步请
pm = dynamic
pm.start_servers = 10
pm.max_children = 400
pm.min_spare_servers = 8
pm.max_spare_servers = 16
pm.process_idle_timeout = 10s
还可以说,每个用户都必须有一个无限长的轮询请求。如果我有10000个请求的限制,并且我有10000个用户连接到我的网站,这是否意味着我的服务器将永远挂起
另一个问题:服务器
和子项
与同步请求
有何关系?是否每个请求都会产生一个新的进程?服务器
和子服务器
之间有什么区别?根据我的理解,子进程
PS:请不要推荐WebSocket或任何其他技术
谢谢。当您将PHP-FPM与动态流程(这是默认值和推荐值)一起使用时,您可以选择:
; Choose how the process manager will control the number of child processes.
; Possible Values:
; static - a fixed number (pm.max_children) of child processes;
; dynamic - the number of child processes are set dynamically based on the
; following directives:
; pm.max_children - the maximum number of children that can
; be alive at the same time.
; pm.start_servers - the number of children created on startup.
; pm.min_spare_servers - the minimum number of children in 'idle'
; state (waiting to process). If the number
; of 'idle' processes is less than this
; number then some children will be created.
; pm.max_spare_servers - the maximum number of children in 'idle'
; state (waiting to process). If the number
; of 'idle' processes is greater than this
; number then some children will be killed.
; Note: This value is mandatory.
在回答您的问题时,服务器和子进程都是进程,每个进程只响应一个用户。您的服务器最多支持400个并发连接
我已经用longpolling实现了很多系统,这比每隔一段时间刷新更有效,使用的资源更少
最大的问题是您的PHP进程将消耗所有服务器内存,我强烈建议您寻找任何替代方案
我使用的一个很好的替代方法是,您可以创建将信息推送到客户机的脚本。使用这种方法,您可以扩展到数千个并发客户机,这是直接用PHP无法做到的
例如,我制作了一个电子邮件客户端,它有一个用PHP编写的守护进程,使用这个NGiNX模块监视用户邮箱并推送新电子邮件的通知,而文件系统监视是使用,换句话说,我使用了几乎0个系统资源,创建了一个具有实时通知和非常低的网络和处理器使用率的webmail系统,仅使用PHP和longpolling或使用refresh计算成本很高
我知道你不想要Websockets的建议,但根据你的需求,它几乎无法避免。所以基本上
服务器和儿童是完全一样的吗?谢谢你的建议!您认为有没有可能通过优化的php fpm
配置来避免直接使用NGiNX
?我们的NGiNX
配置文件是固定的,我们不会经常更改,这不是一项容易的任务。是的,您可以阅读“服务器”中的“子项”。请看这篇文章(),它将为您提供NGiNX和PHP-FPM优化的良好概述。