php-fpm优化
当前内存使用情况
1
2
3
4
5
[root@cpp22 ~]# free -m
total used free shared buffers cached
Mem: 7870 7736 134 0 1009 5010
-/+ buffers/cache: 1716 6154
Swap: 2047 0 2047
查看php-fpm进程是否够用:
使用
1
netstat -napo |grep "php-fpm" | wc -l
查看一下当前fastcgi进程个数,如果个数接近conf里配置的上限,就需要调高进程数。
php最大执行时间的设置
如果file_get_contents请求的远程资源如果反应过慢,file_get_contents就会一直卡在那里不会超时。我们知道php.ini 里面max_execution_time 可以设置 PHP 脚本的最大执行时间,但是,在 php-cgi(php-fpm) 中,该参数不会起效。真正能够控制 PHP 脚本最大执行时间的是 php-fpm.conf 配置文件中的request_terminate_timeout参数。
pm.*的设置
如果设置成static,php-fpm进程数自始至终都是pm.max_children指定的数量,不再增加或减少。如果设置成 dynamic,则php-fpm进程数是动态的,最开始是pm.start_servers指定的数量,如果请求较多,则会自动增加, 保证空闲的进程数不小于pm.min_spare_servers,如果进程数较多,也会进行相应清理,保证多余的进程数不多于 pm.max_spare_servers。