在CentOS上优化PHP-FPM的内存使用可以通过调整配置文件/etc/php-fpm.d/www.conf来实现。以下是一些常见的优化建议:
调整进程管理参数:
pm:选择进程管理方式,常用的有dynamic、static和ondemand。dynamic会根据负载动态调整进程数,static是固定进程数,ondemand是按需启动进程。pm = dynamic
pm.max_children:设置最大子进程数。根据服务器的内存和应用的特性来设置。pm.max_children = 50
pm.start_servers:设置启动时的服务器进程数。pm.start_servers = 5
pm.min_spare_servers:设置最小空闲进程数。pm.min_spare_servers = 5
pm.max_spare_servers:设置最大空闲进程数。pm.max_spare_servers = 35
调整单个进程的内存限制:
php_admin_value[memory_limit]:设置每个PHP进程的内存限制。php_admin_value[memory_limit] = 128M
调整其他参数:
request_terminate_timeout:设置脚本执行的最大时间,防止长时间运行的脚本占用资源。request_terminate_timeout = 0
slowlog:设置慢查询日志文件,用于分析慢查询。slowlog = /var/log/php-fpm/www-slow.log
rlimit_files:设置文件描述符的限制。rlimit_files = 1024
监控和调整:
top、htop等工具监控PHP-FPM进程的内存使用情况。重启PHP-FPM服务:
sudo systemctl restart php-fpm
通过以上步骤,你可以有效地优化PHP-FPM在CentOS上的内存使用。记得在调整参数时要根据实际情况进行测试,以确保不会因为配置不当导致服务不稳定或性能下降。