PHP-FPM高并发参数设置

针对PHP-FPM高并发参数设置,以下是关键配置建议和优化方向:

一、进程管理配置

  1. 进程模式选择

    • 推荐pm = static(静态模式),固定进程数避免动态调整开销‌

    • 若选择动态模式(pm = dynamic),需合理设置以下参数:

pm.max_children = 50      # 最大子进程数pm.start_servers = 5      # 启动进程数pm.min_spare_servers = 5  # 最小空闲进程pm.max_spare_servers = 35 # 最大空闲进程
    • 动态模式适合流量波动较大的场景‌

  1. 进程数计算

    • 静态模式下,pm.max_children建议值为:内存总量(MB) / 单进程内存消耗(MB)

    • 单进程内存可通过pm.status页面观察,通常20-30MB/进程‌

二、性能与稳定性参数

  1. 请求超时控制

    • request_terminate_timeout = 30s(避免长耗时请求阻塞进程)‌

    • pm.max_requests = 1000(单个进程处理请求数上限,预防内存泄漏)‌

  2. Socket优化

listen.backlog = -1           # 不限制等待队列listen.mode = 0666            # Socket权限listen.owner = www            # 运行用户
  1. 配合Nginx需确保fastcgi_pass指向正确Socket路径‌

三、系统级配合优化

  1. Linux内核调整

    • 增加文件句柄限制:ulimit -n 65535

    • TCP参数优化(如增大net.ipv4.tcp_max_syn_backlog)‌

  2. 缓存与异步方案

    • 启用OPcache加速PHP脚本‌

    • 结合Redis/Memcached减少数据库压力‌

完整配置示例(www.conf)

[www]

pm = static

pm.max_childre[文]n = 100

request_termin[章]ate_timeout = 30s

pm.max_request[来]s = 1000

listen.backlog[自] = -1

listen.mode = 0666

slowlog = /var/log/php-f[一]pm.slow.log


标签:

相关文章

《山海经》中的一卷--南山经

《南山经》是中国古代神话典籍《山海经》中的一卷,内容描述了南方诸多山系及其中的奇珍异兽、神话传说等。以下是《南山经》的简要翻译概述(请注意,由于《山海经》的内容包含大量神话元素和夸张描述,翻译时尽量保...

‌Flutter

‌Flutter 是 Google 开源的一款跨平台应用开发框架,使用 Dart 语言编写,允许开发者通过一套代码库构建高性能、高保真的 iOS 和 Android 应用程序,并支持 Web 和桌面平...

程序员所需要学习的英语单词2

‌一、编程基础核心词汇‌‌类别‌‌关键单词‌‌中文释义‌‌代码示例‌‌数据类型‌integer,  string, boolean整数、字符串、布尔值int age =...

前端的知识

前端开发是一个涵盖广泛且快速发展的领域,以下是其核心知识体系的梳理:一、基础技术栈‌HTML5‌语义化标签(<header>、<section>等)和多媒体支持(<vid...

弱类型与强类型

弱类型与强类型是编程语言类型系统的两种重要分类,主要区别体现在类型转换的严格性和处理方式上:1. 核心区别‌强类型语言‌:要求显式类型声明,禁止隐式类型转换类型错误会在编译时或运行时直接报错(如Jav...

DevOps能力

DevOps(Development and Operations)是一种将软件开发(Dev)和运维(Ops)相结合的方法论,旨在通过自动化、协作和持续反馈,实现软件交付和运营的高效集成‌其核心目标是...