Nginx+PHP,PHP如何优化配置?

具体修改FPM配置文件参数:

若你的php日志出现:
WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers)
那就需要调整以下参数:
max_children
*允许创建的最大子进程数
start_servers
*起始进程数(服务启动后初始进程数量)
min_spare_servers
*最小空闲进程数(清理空闲进程后的保留数量)
max_spare_servers
*最大空闲进程数(当空闲进程达到此值时清理)

宝塔面板给的建议参数为:

并发方案1G内存:

max_children:30
start_servers:5
min_spare_servers:5
max_spare_servers:20

并发方案2G内存:

max_children:50
start_servers:5
min_spare_servers:5
max_spare_servers:30

并发方案4G内存:

max_children:80
start_servers:10
min_spare_servers:10
max_spare_servers:30


并发方案8G内存:

max_children:120
start_servers:10
min_spare_servers:10
max_spare_servers:30

并发方案16G内存:

max_children:200
start_servers:15
min_spare_servers:15
max_spare_servers:50


并发方案32G内存:

max_children:300
start_servers:20
min_spare_servers:20
max_spare_servers:50

注意事项:

    【最大子进程数量】越大,并发能力越强,但max_children最大不要超过5000
    【内存】每个PHP子进程需要20MB左右内存,过大的max_children会导致服务器不稳定
    【静态模式】始终维持设置的子进程数量,对内存开销较大,但并发能力较好
    【动态模式】按设置最大空闲进程数来收回进程,内存开销小,建议小内存机器使用
    【按需模式】根据访问需求自动创建进程,内存开销极小,但并发能力略差
    【多PHP版本】若您安装了多个PHP版本,且都在使用,建议适当降低并发配置
    【没有数据库】若没有安装mysql等数据库,建议设置2倍于推荐并发
    【注意】以上为建议配置说明,线上项目复杂多样,请根据实际情况酌情调整

发表评论 / Comment

用心评论~