PHP相关的服务器配置优化

本文详细解析PHP-FPM与Nginx的优化策略,包括参数设置、性能监控及常见问题解决。深入探讨pm.max_children、pm.max_requests等关键参数的作用,以及nginx worker_processes的合理配置。同时,介绍如何利用慢日志监控性能瓶颈,确保系统稳定运行。

1. PHP-FPM性能优化参考
https://blog.tanteng.me/2016/03/php-fpm-conf/
此文描述了502和504出现的某种原因,可能是和咱们昨晚的情况是契合的.


top  参看cpu使用率
ps -ylC php-fpm --sort:rss 
    这个命令用来查看每个php-fpm进程使用的物理内存. 但是为 kb.
ps --no-headers -o "rss,cmd" -C php-fpm | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"M") }'
    查看平均值


2. php-fpm的参数详解,以及优化建议
https://java-er.com/blog/nginx-php-fpm-speed/
pm=static  (一般推荐用static,优点是不用动态的判断负载情况,提升性能,缺点是多占用些系统内存资源。)
pm.max_children=128

3. php-fpm优化
https://lirongyao.com/server-reached-pm-max_children-setting.html
本文认为要设置 pm.max_requests  (所有子进程重启时间)
    因为如果pm.max_requests没有设置重启参数,默认为不限制最大服务次数,也就是子进程永远不重启,经验表明,长时间不重启子进程会导致系统负载异常,处理时间变长等现象。

4. PHP-FPM pm.max_children设置依据
http://blog.youkuaiyun.com/solmyr_biti/article/details/53955141
提供了计算php-fpm进程使用内存的具体方法.


5.
https://www.fujieace.com/php/php-fpm-2.html
此文认为 
pm = static 对于高配置机器更合适

另外有
    配置php慢日志,用于监控
        request_slowlog_timeout = 10s
        slowlog = log/$pool.log.slow

     配置php-fpm进程可打开的最大文件句柄数,
        rlimit_files = 1024
        默认1024,此值可以不需要配置


---------------------------
nginx 优化
1. nginx高并发优化——轻松应对1万并发
http://blog.youkuaiyun.com/nuli888/article/details/51865267
此文认为nginx 
worker_processes  要设置为cpu的倍数


------------------------
redis 优化
设置 maxmemory

个人博客地址 https://blog.qupengwei.top

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值