位置: 编程技术 - 正文

简单谈谈PHP中的Reload操作(简述php的概念和特点)

编辑:rootadmin

推荐整理分享简单谈谈PHP中的Reload操作(简述php的概念和特点),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:简单谈谈php中的爱情观,简述php,php的理解,简述php,简单谈谈php中的安全性,简单谈谈php中的爱情观,简单谈谈php中的安全性,简单谈谈php中的数学思想,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

有很多前辈告诫过我们,reload 能保证整个过程的平滑性,所谓平滑性指的是在 reload 的过程中,旧的进程在处理完当前请求前不会提前终止。很多年来,我从来没有质疑过这种说法,直到有一天,当我 reload 的时候,出现了 错误,让我不得不重新思考。

如何重现问题呢?让我们写一个简单的脚本来模拟:

此时用浏览器浏览这个网址,接着立刻执行 reload 操作,就能看到 错误了。

简单谈谈PHP中的Reload操作(简述php的概念和特点)

难道 PHP 这么弱?连 reload 基本的平滑性都无法保证?答案当然是否定的,实际上通过 process_control_timeout 参数可以实现我们的目标。可惜这个参数缺省是 0,也就是不生效,本文把它设置成 s。重新执行之前的实验步骤,这一次正常输出了结果。不过如果你多做几次实验的话,可能会发现当我们 reload 的时候,sleep 立刻就结束了,这是因为 sleep 收到 reload 发出的信号后直接返回了,下面让我们再改写一下脚本:

重新执行之前的实验步骤,你会发现 错误又出现了。这是因为 reload 虽然让第一个 sleep 立刻结束了,但是第二个 sleep 还是有效的,而且超过了 process_control_timeout 的时间限制。如果我们把 process_control_timeout 设置为 s,那么就又好了。

如此说来,我们只要给 process_control_timeout 设置一个合理的数值就能保证 reload 操作的平滑性,不过到底多大是合理的数值呢?太小的话可能起不到作用,太大的话会不会有副作用?让我们带着疑问重复上一次实验,不过这次我们再加一个监控:

此监控的目的是为了观察 reload 过程中 PHP-FPM 进程数的变化情况,为了让效果更明显些,建议把 PHP-FPM 的启动方式改成 static 模式,同时进程数不要太多。

当我们重复上一次实验的时候,结果发现除了正在执行请求的进程,其它进程直接就被干掉了,而新进程又没有立刻启动,就这样一直卡到最后一个旧进程执行完后新进程才完成启动过程。在此期间,如果有别的请求进来,那么无疑它无法立刻得到响应。

根据我们的实验可以得出结论:缺省情况下,PHP-FPM 无法保证平滑的执行 reload 操作,必须设置一个合理的 process_control_timeout 才行,同时需要注意的是其值不能设置的过大,否则系统可能出现更为严重的请求堵塞问题。

总结

标签: 简述php的概念和特点

本文链接地址:https://www.jiuchutong.com/biancheng/296361.html 转载请保留说明!

上一篇:解决微信授权回调页面域名只能设置一个的问题(解决微信授权回复的方法)

下一篇:php中引用&的用法分析【变量引用,函数引用,对象引用】(php引用文件的方法)

  • 纸质发票红冲操作流程
  • 主营业务是家电吗
  • 企业可以一次性补交员工十年养老保险吗
  • 一次性分红到期还本的会计分录
  • 确认增值税时要通过未缴增值税科目吗
  • 2020年国税申报截止到什么时候
  • 用固定资产投资怎么做账
  • 电器电子产品及配件入账
  • 费用会计具体工作总结
  • 权益筹资额计算公式
  • 股东经济性质怎么填
  • 只有税控盘没有报税盘
  • 投资性房地产计量模式的转换
  • 公司注销留抵税额税法规定
  • 公司作为承租方需要交房产税吗
  • 小规模纳税人减免增值税会计处理
  • 企业上月份销售收入在本月份发生销售折让时
  • 高铁票财务怎么报销
  • 2019年一般纳税人附加税减免政策
  • 调整上年少计提税金及附加
  • 招标公司在招标过程中的注意事项
  • 股权转让的不仅是权利还有义务
  • php如何重启
  • 购买生产用品计入什么科目
  • 银行存款转定期存款分录
  • 交易性金融资产包括哪些项目
  • 财政补贴的内容分类
  • 阿尔比恩洞的级别
  • 人工智能时代如何培养孩子
  • 大前端需要掌握什么技能
  • 专票抵扣联可以盖两个章吗
  • 预处理数据的方法
  • gpgpu编程技术
  • 外币账户如何设立
  • 预收账款转收入可以调以前年度吗
  • 农民工工资专用账户
  • 收到抵扣发票怎么做分录
  • Python IDE之Thonny的介绍
  • 公司归还股东借款是否需要股东会决议
  • 接受银行承兑汇票需要开通吗
  • 发票认证后总局没信息
  • access数据库用户名和密码
  • sqlserver控制台
  • 个人劳务报酬的个税
  • 费用报销的程序是什么
  • 客户多付的货款 不用退回 进营业外收入吗
  • 利润总额包括什么项目
  • 应付账款从质保金扣除
  • 印花税计入相关资产成本吗
  • 员工在工伤
  • 亏损合同预计负债
  • 同城票据交换差额户金额从哪得来的
  • 企业注销股东投资款怎么处理
  • 固定资产折旧算现金流入吗
  • 怎么样创建
  • mysql中的groupby
  • sql常用命令使用方法
  • sql null用法
  • win10 更新 蓝屏
  • WINDOWS操作系统最新版本
  • linux wget命令详解
  • 组装机没有装系统开机会怎么样
  • 高效快捷键
  • win 8.1激活
  • sessmgr.exe - sessmgr是什么进程 有什么用
  • win10预览版和正式版区别
  • bat批处理命令大全
  • bash 字符串操作
  • python科学绘图
  • unityshader
  • JQuery 设置checkbox值二次无效的解决方法
  • python多层嵌套列表制作
  • 西安市经开区税务
  • 车船税完税证明开具如何开具
  • 辽宁网上怎么申请港澳签证流程
  • 河北省国家税务局长简介
  • 成都交房需要交什么费用
  • 企业年金个人缴纳的辞职能拿吗
  • 攸县丧葬
  • 重庆国税局官网登录入口查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设