位置: 编程技术 - 正文

简单谈谈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引用文件的方法)

  • 个调税新政策
  • 普通电子发票如何冲红
  • 购房尾款发票什么时候开
  • 销项发票导出格式不对怎么办
  • 信息技术费如何做账
  • 生产设备租赁费计入什么科目
  • 房地产企业融资存在的问题
  • 专项土地补偿款怎么入账?
  • 保函保证金怎么审计
  • 是否退还投标文件
  • 已经认证的进项税转出
  • 从个人处借款的法律规定
  • 应收账款收回时间怎么体现
  • 年会费用的会计分录
  • 过路费去年的票还可以用吗
  • 税务稽查是什么
  • 开发商开临时发票
  • 库存商品的账面余额是什么意思
  • 主营业务成本没有结转怎么办
  • 支出凭证的日期
  • 卖固定资产如何做账
  • 发票丢失登报声明怎么写
  • 开票多一分钱怎么办
  • 企业注销时资本公积怎么处理
  • 本期预收的货款属于
  • 押金拿不到怎么解决
  • 国债逆回购会跌吗
  • 租赁合同维修义务谁承担
  • 结转已经销售商品成本的分录
  • 高速公路电子发票抵扣进项税
  • 微信公众平号平台
  • 土地使用税若干问题的补充规定
  • 建行企业网上银行主管盾权限分配
  • input输入框限制最大字数
  • 一般纳税人普通发票做账
  • 其它应付款核算项目
  • 金融债券的利息不计复利不能提前支取
  • 利息应怎么录入收入
  • 生产企业生产车间人员密度是多少
  • 计提增值税附加税的账务处理
  • 工会疗养费用怎么做账
  • 公司基本账户提现规定
  • 每月增值税怎么做账
  • 银行开手续费发票怎么做账
  • 待摊费用取消了怎么做账
  • 小规模购入固定资产怎么做账
  • 预付卡业务该如何管理
  • 汇算清缴后多交的企业所得税能退吗
  • 补缴税务滞纳金
  • 开支票如何做账
  • centos6.9 yum
  • mysql实时监控工具
  • ubuntu14.04升级
  • centos8 apache
  • win7怎么进行系统还原
  • 如何查看苹果mac系统
  • xp系统不能正常启动怎么修复
  • centos中netspeeder网络加速/优化器的安装方法
  • shine.exe - shine是什么进程 有什么用
  • lumia950升级win11
  • linux root用户登陆
  • windows8.1的设置在哪
  • WIN10系统打开IE浏览器断网
  • 红石id
  • 使用jquery实现的项目
  • jquery可以实现哪些效果
  • linux怎么安装rz
  • cocos2dx-js
  • opengl安装教程
  • if条件程序
  • vue switch组件
  • 基于vue的购物系统
  • 用Fragment+ViewPager搭建万能的android界面
  • unity3d 物理引擎
  • jQuery实现ajax的叠加和停止(终止ajax请求)
  • 如何理解税收制度的含义
  • 出口退税的管理办法
  • 补办契税需要哪些资料
  • 在本地买车怎么上外地牌照
  • 重庆新电子税务局入口
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设