今天发了个链接,可能同时在线的人瞬间比较多,结果网站报503错误,回去打开php-fpm错误日志一看,php-fpm服务挂掉了,报如下错误:

[04-Apr-2016 15:38:04] NOTICE: systemdmonitorintervalsetto 10000ms
[05-Apr-2016 19:03:08] WARNING: [poolwww] seemsbusy (youmayneedto increasepm.start_servers, or pm.min/max_spare_servers), spawning 8 children, thereare 0 idle, and 29 totalchildren
[05-Apr-2016 19:03:09] WARNING: [poolwww] seemsbusy (youmayneedto increasepm.start_servers, or pm.min/max_spare_servers), spawning 16 children, thereare 0 idle, and 34 totalchildren
[05-Apr-2016 19:03:11] WARNING: [poolwww] seemsbusy (youmayneedto increasepm.start_servers, or pm.min/max_spare_servers), spawning 32 children, thereare 0 idle, and 39 totalchildren
[05-Apr-2016 19:03:12] WARNING: [poolwww] seemsbusy (youmayneedto increasepm.start_servers, or pm.min/max_spare_servers), spawning 32 children, thereare 0 idle, and 44 totalchildren
[05-Apr-2016 19:03:13] WARNING: [poolwww] seemsbusy (youmayneedto increasepm.start_servers, or pm.min/max_spare_servers), spawning 32 children, thereare 0 idle, and 49 totalchildren
[05-Apr-2016 19:03:14] WARNING: [poolwww] serverreachedpm.max_children setting (50), considerraisingit

错误提示建议增加pm.start_servers数量,打开我的php-fpm配置:

pm.max_children = 50
 
; Thenumberofchild processescreatedonstartup.
; Note: Usedonlywhenpmis setto 'dynamic'
; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
pm.start_servers = 15
 
; Thedesiredminimumnumberofidleserverprocesses.
; Note: Usedonlywhenpmis setto 'dynamic'
; Note: Mandatorywhenpmis setto 'dynamic'
pm.min_spare_servers = 5
 
; Thedesiredmaximumnumberofidleserverprocesses.
; Note: Usedonlywhenpmis setto 'dynamic'
; Note: Mandatorywhenpmis setto 'dynamic'
pm.max_spare_servers = 35

这里pm.start_servers之前我设置为5,注意配置文件也说明start_servers的值默认是max_spare_servers-min_spare_servers的一半。(ps:具体的值要根据服务器配置情况和压力测试得出)

网站服务器是阿里云1G带宽,1G内存,1核CPU配置,关键还在一台机子上装了数据库,redis各种服务。

几个php-fpm重要参数说明

pm.max_children = 24

static模式下创建的子进程数或dynamic模式下同一时刻允许最大的php-fpm子进程数量

pm.start_servers = 16

动态方式下的起始php-fpm进程数量

pm.min_spare_servers = 12

动态方式下服务器空闲时最小php-fpm进程数量

pm.max_spare_servers = 24

动态方式下服务器空闲时最大php-fpm进程数量

经验人士的总结:

一般php-fpm进程占用20~30m左右的内存就按30m算。如果单独跑php-fpm,动态方式起始值可设置物理内存Mem/30M,由于大家一般Nginx、MySQL都在一台机器上,于是预留一半给它们,即php-fpm进程数为$Mem/2/30。

调整之后的几个值是:

pm = dynamic
pm.max_children = 50
pm.start_servers = 15
pm.min_spare_servers = 10
pm.max_spare_servers = 40

重启php-fpm服务:service php70-php-fpm reload,继续使用top命令查看内存使用情况,发现十几个php-fpm启动。

php-fpm服务挂掉的更多相关文章

  1. 用Docker启动php-5.6 fpm服务配合宿主机nginx运行php测试环境

    因为Ubuntu18.04默认的openssl版本就是1.1.0, 而PHP5.6无法在openssl 1.1下编译 "PHP 5.6 is receiving only security ...

  2. PHP-7的FPM服务的启动

    1.PHP 7的FPM服务位置:/ect/init.d/php7.0-fpm 2.启动:sudo service php7.0-fpm reload

  3. mongodump 失败且导致mongo服务挂掉【本质原因,wt文件损坏】

    ====================================================== 标题遇到的问题是我要解决的问题的中间环节. 原本问题是:需要在之前standlone的Mo ...

  4. [网站日志]当Memcached缓存服务挂掉时性能监视器中的表现

    我们用的Memcached缓存服务是阿里云OCS,今天晚上遇到了一次OCS挂掉的情况(计划中的升级),看一下性能监视器中的表现,也许对分析黑色1秒问题有帮助. 应用日志中错误: 2014-06-05 ...

  5. JIRA应用的内存参数设置不当+容器没有对资源进行限制导致服务挂掉的例子

    背景: 应用的部署结构是这样的:使用rancher管理的Docker集群,有三台物理主机,二十多个Docker容器, 提供的功能是问题跟踪(JIRA),文档管理(Confluence),代码托管(sv ...

  6. zookeeper 服务挂掉重启后,dubbo 服务是不会自动重新注册上的

    今天遇到一个问题: 系统初始有两个dubbo 服务 , A 和 B , 都是正常注册到zookeeper 上的, 但是zookeeper 服务机房 断电导致 服务宕机, 那就重启吧. 一切正常. 但是 ...

  7. Redis服务挂掉后,重启时闪退

    这个时候去进程管理器里找一个 redisservice.exe 的进程..杀死他  杀死他  杀死他!!! 整理领结,嘬口咖啡, 嗯... 然后再来启动服务..

  8. CentOS7linux系统安装fpm服务,自己制作rpm包文件

    1.安装ruby环境 [root@oldboy /]# yum install -y ruby ruby-devel rubygems gem install fpm gem sources --ad ...

  9. ESXi 6.7 的https服务挂掉处理方法 503 Service Unavailable

    首先进入EXSi开启SSH(ESXi的主机控制台,非web控制台,是安装esxi的控制台) 然后 /etc/init.d/hostd status 显示已停止, 使用 /etc/init.d/host ...

随机推荐

  1. Chrome 自动填充的表单是淡黄色的背景

    Chrome 自动填充的表单是淡黄色的背景解决方案; input:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px #fff inset; - ...

  2. windows系统激活-使用微软官方公布的kms client setup key安装或安装后使用slmgr导入

    windows 10各版本: Windows 10 Professional W269N-WFGWX-YVC9B-4J6C9-T83GX Windows 10 Professional N MH37W ...

  3. js-处理千分符

      <html> <head> <title> JS千分位处理 </title> </head> <script> functi ...

  4. 【CodeForces 266C】Below the Diagonal(模拟)

    题目每次把空列换到最后一列,把非空行换到最下一行. #include<cstdio> #include<algorithm> #define N 1005 using name ...

  5. BZOJ3295 [Cqoi2011]动态逆序对

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...

  6. css3的@media媒体查询

    css3新功能,根据屏幕大小进行识别. 参考: http://www.runoob.com/cssref/css3-pr-mediaquery.html

  7. css设置background图片的位置实现居中

    /* 例 1: 默认值 */ background-position: 0 0; /* 元素的左上角 */ /* 例 2: 把图片向右移动 */ background-position: 75px 0 ...

  8. ClassCastException 导致程序一运行就强制退出

    程序显示是类型转换异常,原因是  ic—launcher 不是layerlist图形,而是bmp类型(此处不是指格式)图片,因此取出来后经过红框内强制类型转换导致出错. 为什么我当时要把他强制转换? ...

  9. 数据结构2 静态区间第K大/第K小

    给定数组$A[1...N]$, 区间$[L,R]$中第$K$大/小的数的指将$A[L...R]$中的数从大到小/从小到大排序后的第$K$个. "静态"指的是不带修改. 这个问题有多 ...

  10. FZU 2184 逆序数还原

    传送门 Description 有一段时间Eric对逆序数充满了兴趣,于是他开始求解许多数列的逆序数(对于由1...n构成的一种排列数组a,逆序数即为满足i<j,ai>aj的数字对数),但 ...