赞
踩
1.php-fpm 配置
查看php-fpm开启的进程数以及每个进程的内存限制
1.通过命令查看服务器上一共开了多少的 php-cgi 进程
ps -fe |grep "php-fpm"|grep "pool"|wc -l
2.查看已经有多少个php-cgi进程用来处理tcp请求,进程数不够则需要增大 pm.max_spare_servers
netstat -anp|grep "php-fpm"|grep "tcp"|grep "pool"|wc -l
linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合:
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head
linux下获取占用内存资源最多的10个进程,可以使用如下命令组合:
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
// 共占用的内存数量
ps auxf | grep php | grep -v grep | grep -v master | awk '{sum+=$6} END {print sum}'
// 所有的子进程数量
ps auxf | grep php | grep -v grep | grep -v master | wc -l
该命令可以按照内存使用率的高低排序进程列表,如果有某个进程内存占用持续增加,可能存在内存泄漏的情况
ps aux --sort=-%mem
3. 查看php-fpm 慢日志
- pm.max_children 字段,发现其值过大:
- pm.max_children 值为50,每一个进程占用1%-2.5%的内存,加起来就耗费大半内存了,所以我们需要将其值调小,博主这里将其设置为25,同时,检查以下两个属性:
- pm.max_spare_servers : 该值表示保证空闲进程数最大值,如果空闲进程大于此值,此进行清理 pm.min_spare_servers : 保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程;
- 这两个值均不能不能大于 pm.max_children 值,通常设置 pm.max_spare_servers 值为 pm.max_children 值的60%-80%。
- 最后,重启php-fpm
2.开启opcache
- zend_extension=opcache.so
- opcache.memory_consumption=128
- opcache.interned_strings_buffer=8
- opcache.max_accelerated_files=4000
- opcache.revalidate_freq=60
- opcache.fast_shutdown=1
- opcache.enable_cli=1
3.nginx 配置优化
4.服务器内核参数配置优化
5. sql 查询优化【查看Rds sql审计】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。