设为首页 收藏本站
查看: 647|回复: 0

[经验分享] 关于php-fpm子进程设置

[复制链接]

尚未签到

发表于 2018-12-21 07:13:07 | 显示全部楼层 |阅读模式
  php-fpm的两种进程管理模式
  php-fpm的进程数也是可以根据设置分为动态和静态的。
  一种是直接开启指定数量的php-fpm进程,不再增加或者减少;
  另一种则是开始的时候开启一定数量的php-fpm进程,当请求量变大的时候,动态的增加php-fpm进程数到上限,当空闲的时候自动释放空闲的进程数到一个下限
  涉及到的几个参数:
  pm.max_children:静态方式下开启的php-fpm进程数量。
  pm.start_servers:动态方式下的起始php-fpm进程数量。
  pm.min_spare_servers:动态方式下的最小php-fpm进程数量。
  pm.max_spare_servers:动态方式下的最大php-fpm进程数量。
  如果pm设置为static,那么其实只有pm.max_children这个参数生效。系统会开启设置的数量个php-fpm进程。
  如果pm设置为dynamic,那么pm.max_children参数失效,后面3个参数生效。系统会在php-fpm运行开始的时候启动 pm.start_servers个php-fpm进程,然后根据系统的需求动态在pm.min_spare_servers和 pm.max_spare_servers之间调整php-fpm进程数
  这个子进程到底设置多少是合理的呢
  利用apache自带的ab压力测试工具做了个实验
  首先打开目标服的nginx status模块
  server{
  location /nginx-status {
  stub_status on;
  access_log   off;
  }
  }
  在nginx配置文件中添加如上一段server配置
  直接访问http://domain/nginx-staus 就可以显示如下一段数据:
  Active connections: 155
  server accepts handled requests
  1950 1950 1951
  Reading: 0 Writing: 154 Waiting: 1
  以上含义解释如下:
  active connections:155 #nginx 正处理的活动连接数 353个。
  server accepts handled requests
  nginx启动到现在共处理了 1950个连接 ,
  nginx启动到现在共成功创建 1950 次握手 ,
  请求丢失数=(握手-连接),可以看出,我们没丢请求
  总共处理了1951 次请求。
  Reading :nginx 读取到客户端的 Header 信息数。
  Writing : nginx 返回给客户端的 Header 信息数。
  Waiting : Nginx 已经处理完正在等候下一次请求指令的驻留连接。开启 keep-alive 的情况下,这个值等于 active – (reading + writing)。
  用ab测试工具访问该域名的index.php文件
  ab网站压力测试命令
  格式: ./ab [options] [http://]hostname[:port]/path
  -n 测试会话中所执行的请求个数,默认时,仅执行一个请求
  -c 一次产生的请求个数。默认是一次一个
  -t 测试所进行的最大秒数
  -v 设置显示信息的详细程度 - 4或更大值会显示头信息, 3或更大值可以显示响应代码(404, 200等), 2或更大值可以显示警告和其他信息。 -V 显示版本号并退出。
  一般工作中我们只用-n 和 -c
  ab -c 500 -n 5000  http://s3.app1101079596.qqopenapp.com/index.php
  该命令表示500个并发用户发出5000个请求看目标服的情况
  目标服上查看nginx-status和php进程个数
  curl http://s3.app1101079596.qqopenapp.com/nginx-status
  ps -ef | grep php-fpm | egrep -v '(master|grep)' | wc -l


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-653754-1-1.html 上篇帖子: PHP中echo(),print(),print_r()的区别 下篇帖子: PHP的oci8扩展详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表