要优化Linux PHP-FPM的资源使用,可以从以下几个方面入手:
pm.max_children
(最大子进程数量),pm.start_servers
(启动时的子进程数),pm.min_spare_servers
和pm.max_spare_servers
(空闲子进程的最小和最大数量)。pm.max_requests
(每个子进程在被重新生成之前可以处理的请求数),建议设置为几千到几万,防止内存泄漏。request_terminate_timeout
(单个请求最大执行时间),建议10~60秒,防止长时间卡死。request_slowlog_timeout
(慢日志阈值)和slowlog
(慢日志文件路径),开启慢日志,便于排查慢请求。/etc/systemd/system/php-fpm.service
或/lib/systemd/system/php-fpm.service
的[Service]部分添加LimitNOFILE
和LimitMEMLOCK
来设置文件描述符限制和内存锁定限制。cgroup-tools
。ulimit -n
和ulimit -m
来设置文件描述符限制和内存锁定限制。htop
、vmstat
、iostat
等监控服务器的性能指标,并根据实际情况进行调整。gc_collect_cycles()
函数手动触发垃圾回收。unset()
释放不再使用的变量。请注意,进行任何配置更改后,都应该重新启动PHP-FPM服务以使更改生效。此外,不同的Linux发行版和PHP版本可能会有些许差异,因此在进行配置之前,请确保查阅相关的官方文档或教程,以确保正确配置PHP-FPM。