位置: 编程技术 - 正文

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

  • 个人股权转让如何纳税
  • 收客户刷卡手续费时客户不愿意缴费,如何处理
  • 公司注销后账本怎么处理
  • 交易性金融资产是什么意思
  • 回购股票不注销没有意义
  • 中小型企业营业额和从业人数
  • 承兑汇票大回头票是什么意思
  • 其他应收款平账怎么做分录
  • 销户之后可以重新申请吗
  • 旅客运输进项税可以加计抵减么
  • 房地产企业开发间接费用包括哪些
  • 临时营业执照有效期多久
  • 农产品为什么价格低
  • 可供出售金融资产新准则叫什么
  • 国有企业取得的土地收储款是否要上缴财政
  • 出口退税退的是哪部分税
  • 冲红发票开具
  • 小规模纳税人应纳税额减征额怎么算
  • 软件服务类企业
  • 小规模附加税减免政策2023
  • 对境外支付佣金的规定
  • 个税缴纳期数填1是什么意思
  • 框架采购合同如何计贴印花税?
  • 去年的发票今年可以抵扣吗
  • 企业投资收益如何做账
  • 公司为员工购买社保流程
  • 社保费税前扣还是税后扣
  • linux杀死服务
  • 圣海伦斯山国家火山纪念区
  • 新公司成立的前期准备工作计划
  • 其他业务成本主要有哪些
  • 定向增发后送股成本价
  • 捐赠支出税前扣除条件
  • 房地产预售收入如何缴纳所得税
  • 汇算清缴补交的所得税怎么记帐
  • 销售废旧设备增值税率
  • 只用vue可以做网站不?
  • php从数据库中读取数据
  • 人脸识别测颜值,al
  • 航天信息开票软件客服
  • php 中奖概率算法
  • yolov5目标检测代码
  • 论文笔记整理软件
  • jquery获取值的几种方法
  • php access_token
  • 行政单位预算外收入有哪些
  • 坏账准备计提范围包括
  • 研发费用没有发票怎么做账
  • mysql客户端怎么使用
  • 小规模纳税人的企业所得税税率
  • SQL SERVER 2000 9003错误的解决方法(只适用于SQL2000)
  • 两者有什么区别用英语怎么说
  • 股东不任职,是否可以参与企业经营
  • 无形资产分期付款会计分录?
  • 事业单位劳务派遣工能长期干下去吗
  • 发票入账抵扣什么意思
  • 小规模纳税人低值易耗品摊销方法
  • 开具其他发票收入填报异常
  • 商贸公司会计成本核算方法
  • 什么是库存现金限额
  • 进项税额抵扣好还是不抵扣好
  • 存货周转率多少属正常范围
  • solaris 2020
  • 怎样修改注册表关闭win11系统杀毒软件
  • linux 新手
  • win10系统mmc不能打开文件
  • win7怎么删除右键菜单
  • node.js基础入门
  • android应用程序的主要语言是java
  • 输出语句的执行过程
  • 批处理修改文件名称
  • python开发软件教程
  • javascript还有人用吗
  • androiddialog圆角
  • unity3d图形学
  • python类属性和类方法
  • 全国税务系统12366纳税服务热线工作规范
  • 江苏税务怎么在手机上办
  • 投资联营的房产税纳税人是谁
  • 差额征税差额开票怎么理解
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设