一、问题
发现个人网站响应缓慢:使用F12查看,一次请求要4-9s.
二、解决
分析问题
- 使用top指令查看当前服务器执行状况:M 内存,C CPU
CPU使用率不算高,可用内存只剩下60M,内存使用率过高.使用M 排序
PHP-FPM(PHP FastCGI Process Manager)意:PHP FastCGI 进程管理器,用于管理PHP 进程池的软件,用于接受web服务器的请求。
php-fpm服务池开启了太多子进程,占用超过大半内存。通过搜索可以得知可以设置控制php-fpm进程池进程数量。
通过配置文件配置pm.max_children属性,控制php-fpm子进程数量
找到 /etc/php-fpm.d/www.conf
pm.max_children字段,初始值为50,本人调为25。
pm.max_spare_servers: 该值表示保证空闲进程数最大值,如果空闲进程大于此值,进行清理
pm.min_spare_servers: 保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程;
这两个值均不能不能大于pm.max_children值,通常设置pm.max_spare_servers值为pm.max_children值的60%-80%。本人设置为20
最后,重启php-fpm
systemctl restart php-fpm
再次查看内存使用情况: