当前位置: 首页 > news >正文

设置PHP的fpm的系统性能参数pm.max_children

1 介绍

PHP从Apache module换成了Fpm,跑了几天突然发现网站打不开了。

页面显示超时,检查MySQL、Redis一众服务都正常。

进入Fpm容器查看日志,发现了如下的错误信息:

server reached pm.max_children setting (5), consider raising it

2. 原因

原来默认情况下Fpm的系统参数是这样的:

pm.max_children = 5
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 3

说明一下这些参数:

max_children

最多进程数量

start_servers

启动时候开启的进程数量

min_spare_servers

最小空闲进程数量

max_spare_servers

最多空闲进程数量

最多5个进程,这显然是不够用的了!

3. 解决

加大子进程数量避免系统崩溃!

平均一个进程占用35M左右的内存,容器分配的内存是1G,1024/35=29,避免内存用光设置少一点,就25个吧!

pm.max_children = 25
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers = 25

除此之外我们还可以通过max_requests参数让进程经过一定的服务次数之后重新启动,这样可以避免系统崩溃的情况出现。

max_requests参数比较容易理解,就是一个进程服务这么多次数之后就会自动销毁掉,然后系统根据其他参数自动补充进程。

这个没有什么算法,服务器访问量大就设置大一些,访问量小就设置小一些。

pm.max_requests = 600
http://www.lryc.cn/news/129860.html

相关文章:

  • vue3setup标签语法 + vite + delfin 递归组件实现无限评论功能
  • optee中如何开启或关闭所有中断的
  • 基于STM32+微信小程序设计的宠物投喂装置(腾讯云IOT)
  • 2023年上半年软考分数线 软考分数线公布时间
  • centos7的flink安装过程
  • 商城-学习整理-高级-性能压测缓存问题(十一)
  • PHP 三元 !empty 而不是评估为真或假 可用isset()
  • 星火大模型 VS FuncGPT(慧函数), 谁更胜一筹?
  • 使用 Python 获取 Redis 数据库中的所有键
  • C的进阶C++学习方向
  • 【仿写框架之仿写Tomact】二、初始化阶段加载项目中所有servlet类对象
  • Linux实用运维脚本分享
  • JMeter 特殊组件-逻辑控制器与BeanShell PreProcessor 使用示例
  • 时序预测 | MATLAB实现SA-ELM模拟退火算法优化极限学习机时间序列预测
  • Ubuntu 连接海康智能相机步骤(亲测,成功读码)
  • sass笔记
  • C/C++中volatile关键字详解
  • Linux:shell脚本:基础使用(4)《正则表达式-grep工具》
  • 如何建立单元测试
  • typeScript 接口和类
  • 这项与越来越多企业有关的行业标准,网易云信深度参与制定!
  • C语言,malloc使用规范
  • 广度优先遍历与最短路径(Java 实例代码源码包下载)
  • 南大通用数据库(Gbase 8s) 创建UDR外部函数
  • 步入React正殿 - State进阶
  • 【QT+ffmpeg】QT+ffmpeg 环境搭建
  • 责任链模式解决多个ifelse问题
  • Lnton羚通关于PyTorch的保存和加载模型基础知识
  • python+django+mysql项目实践四(信息修改+用户登陆)
  • sCrypt编程马拉松于8月13日在复旦大学成功举办