Linux平台PHP5.4设置FPM线程数量的方法
本文实例讲述了Linux平台PHP5.4设置FPM线程数量的方法。分享给大家供大家参考,具体如下:
PHP5.4安装完毕后,FPM的默认配置文件位于/usr/local/php/etc/php-fpm.conf.default
>cp/usr/local/php/etc/php-fpm.conf.default/usr/local/php/etc/php-fpm.conf >vim/usr/local/php/etc/php-fpm.conf
输入”/www”,搜索www所在的POOL
pm=dynamic ;Thenumberofchildprocessestobecreatedwhenpmissetto'static'andthe ;maximumnumberofchildprocesseswhenpmissetto'dynamic'or'ondemand'. ;Thisvaluesetsthelimitonthenumberofsimultaneousrequeststhatwillbe ;served.EquivalenttotheApacheMaxClientsdirectivewithmpm_prefork. ;EquivalenttothePHP_FCGI_CHILDRENenvironmentvariableintheoriginalPHP ;CGI.Thebelowdefaultsarebasedonaserverwithoutmuchresources.Don't ;forgettotweakpm.*tofityourneeds. ;Note:Usedwhenpmissetto'static','dynamic'or'ondemand' ;Note:Thisvalueismandatory. pm.max_children=5 ;Thenumberofchildprocessescreatedonstartup. ;Note:Usedonlywhenpmissetto'dynamic' ;DefaultValue:min_spare_servers+(max_spare_servers-min_spare_servers)/2 pm.start_servers=2 ;Thedesiredminimumnumberofidleserverprocesses. ;Note:Usedonlywhenpmissetto'dynamic' ;Note:Mandatorywhenpmissetto'dynamic' pm.min_spare_servers=1 ;Thedesiredmaximumnumberofidleserverprocesses. ;Note:Usedonlywhenpmissetto'dynamic' ;Note:Mandatorywhenpmissetto'dynamic' pm.max_spare_servers=3 ;Thenumberofsecondsafterwhichanidleprocesswillbekilled. ;Note:Usedonlywhenpmissetto'ondemand' ;DefaultValue:10s ;pm.process_idle_timeout=10s; ;Thenumberofrequestseachchildprocessshouldexecutebeforerespawning. ;Thiscanbeusefultoworkaroundmemoryleaksin3rdpartylibraries.For ;endlessrequestprocessingspecify'0'.EquivalenttoPHP_FCGI_MAX_REQUESTS. ;DefaultValue:0 ;pm.max_requests=500
解释一下:
pm=dynamic如何控制子进程,选项有static和dynamic,默认采用dynamic;如果选择static,则由pm.max_children指定固定的子进程数。
如果选择dynamic,则由以下参数决定:
pm.max_children
子进程最大数
pm.start_servers
启动时的进程数
pm.min_spare_servers
保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程
pm.max_spare_servers
保证空闲进程数最大值,如果空闲进程大于此值,则进行清理。对于专用服务器,pm可以设置为static。
pm.max_requests
设置每个子进程重生之前服务的请求数.对于可能存在内存泄漏的第三方模块来说是非常有用的.如果设置为'0′则一直接受请求.设置为500就可以了(默认0)。
将值修改为如下:
pm.max_children=32 pm.start_servers=16 pm.min_spare_servers=8 pm.max_spare_servers=32 pm.max_requests=500
:wq保存退出VIM
>/usr/local/php/sbin/php-fpm-t NOTICE:configurationfile/usr/local/php/etc/php-fpm.conftestissuccessful
测试配置文件是否正常,没问题,杀掉当前的FPM进程
>/usr/local/php/sbin/php-fpm
启动
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php程序设计安全教程》、《php面向对象程序设计入门教程》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。