前言
最近有些 MJJ 采集博客,使内存有些超标,看了下文件发现军哥的 LNMP 的php-fpm
配置是按最低标准设置的,这里可以稍微修改下,适用于自己的 VPS 配置。
修改说明
php-fpm
设置动态还是静态,要根据你的 VPS 内存来定,如果内存小,比如 1G,那么指定静态的进程数量更加有利于服务器的稳定。这样可以保证php-fpm只获取够用的内存,将不多的内存分配给其他应用去使用,会使系统的运行更加畅通。
如果你的内存足够大,例如 4G 或 4G 以上你可以将 pm 设置成静态(static
),因为这样不需要进行额外的进程数目控制,会提高效率(频繁开关 php-fpm 进程也会有时滞的)所以内存够大的情况下开静态效果会更好。
比如 4GB 内存可以设置为pm.max_children = 80
,那么按照每个进程占用 15~30M 内存计算,php-fpm 耗费的内存就能控制在 1.2G-2.5G 的样子。
这里主要修改几个参数,说明一下:
pm.max_children
:静态方式下开启的 php-fpm 进程数量;pm.start_servers
:动态方式下的起始 php-fpm 进程数量;pm.min_spare_servers
:动态方式下的最小备用 php-fpm 进程数量;pm.max_spare_servers
:动态方式下的最大备用 php-fpm 进程数量;
这里是军哥 LNMP 的/usr/local/php/etc/php-fpm.conf
默认 1G 配置,LNMP 也会根据内存大小安装后配置不同,仅用于参考
pm = dynamic
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 6
pm.max_requests = 1024
pm.process_idle_timeout = 10s
request_terminate_timeout = 100
request_slowlog_timeout = 0
slowlog = var/log/slow.log
博主的机器是 1G 内存,修改后的配置可以参考,具体参数要设多少,可自己慢慢测试
pm = dynamic
pm.max_children = 24
pm.start_servers = 6
pm.min_spare_servers = 3
pm.max_spare_servers = 9
pm.max_requests = 2048
pm.process_idle_timeout = 10s
request_terminate_timeout = 120
request_slowlog_timeout = 0
slowlog = var/log/slow.log
结语
博主在使用pm = dynamic
, 有时日志(/usr/local/php/var/log/php-fpm.log
)里提示 pm.max_children
过小, 调大 pm.max_children
值, 日志里的 pm.max_children
警告就没有了。
© 本站文章随意转载,但请注明出处!
>> 如果您觉得本站文章对您有所帮助,购买 VPS 时候请走本站AFF链接!
>> 某些文章具有时效性,若内容有错误或已失效,欢迎在下方评论区留言向我们反馈.
>> 所有文章均基于分享的原则,所有言论均个人观点,请注意全部都不是推荐,是分享!分享!分享!
>> 所有文章均基于分享的原则,所有言论均个人观点,请注意全部都不是推荐,是分享!分享!分享!
THE END
暂无评论内容