FMP配置文件,PHP并发,502报错

服务器负载无问题,则判断是PHP-FPM进程不够导致502的出现,找到PHP-FPM的配置文件发现参数并没有根据服务器配置进行优化,服务器的配置为32核,32GB,则可以将FPM的运行方式更改为

pm = static(PHP-FPM运行模式 静态static 动态dynamic 按需ondemand)

pm.max_children = 300(子进程最大数 根据服务器内存计算,按照每个内存使用20MB进行计算,需要留出一切内存给其他服务使用)

pm.max_requests = 300(PHP-CGI 进程处理的请求数累积到 300 个后,自动重启该进程。根据访问量实际情况调试)

具体参数参见注意事项和结果,配置完成重启PHP服务,观察一段时间,502问题成功解决,新的问题又出现了,Mysql Too many connections 字面意思为Mysql 连接太多 那我们就去优化一下Mysql的连接数 Max_connections
此参数如果MySql 没有则自己添加一行即可,它的设置范围我是根据php的 pm.max_children * 2
设置的这样目前不会出现链接数不够用的情况。设置完重启Mysql
问题也得到了很好的解决,Nginx参数优化需要根据服务器内核更改Nginx配置文件此次不做讲解(优化是为了更好的亲和服务器CPU本身Nginx的并发能力就无可厚非所以暂不讲解下次再说)
————————————————

[global]
pid = /www/server/php/56/var/run/php-fpm.pid
error_log = /www/server/php/56/var/log/php-fpm.log
log_level = notice

[www]
listen = /tmp/php-cgi-56.sock
listen.backlog = 8192
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = static
pm.status_path = /phpfpm_56_status
pm.max_children = 300
pm.max_requests = 300
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers = 30
request_terminate_timeout = 100
request_slowlog_timeout = 30
slowlog = var/log/slow.log

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论