PHP5-FPM和’ondemand’
我已经用Nginx和
PHP5-FPM建立了一个服务器,运行正常.但是,当我向服务器添加越来越多的站点时,我发现内存使用量稳步增加,我得出的结论是PHP5-FPM是“怪”.
我目前所做的是为每个站点设置一个单独的PHP5-FPM池,并根据预期的流量配置该池.但是,有足够的网站,我最终会有一个服务器,它只是在相当大量的PHP5-FPM“孩子”上寻找工作. 我刚刚发现了按需PHP5-FPM模式,它允许我以某种方式配置PHP5-FPM,以便子进程仅在实际需要时分叉,然后在给定的持续时间内保持活动状态. 但是,我真的找不到太多关于此的细节.我最好奇的是变量pm.max_children和pm.max_requests如何影响ondemand模式(如果有的话).我假设变量pm.start_servers,pm.min_spare_servers,pm.max_spare_servers不适用于ondemand模式.
你是对的,start_servers,min_spare_servers和max_spare_servers不适用于ondemand模式.以下变量是适用于ondemand模式的变量:
> pm.max_children 设置pm = ondemand时,FPM会在需要时尽快分叉子项,始终保持子项数小于或等于pm.max_children,因此该变量是同时分叉的子项数的上限. 另外两个变量允许您指定何时销毁子项: > pm.process_idle_timeout设置孩子在被销毁之前等待没有工作的时间.它以秒为单位定义. 在我的公司,我们在FPM上使用ondemand模式,我们使用pm.max_requests强制回收fpm子节点并避免高内存使用. 希望这可以帮助, 问候. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |