位置: 编程技术 - 正文

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

  • 财务软件使用制度
  • 税收国家和地方的比例
  • 翻唱歌曲发行时怎么把原唱名字改了
  • 股票交易费用计算器
  • 民办美术高中有哪些
  • 合同能源管理项目账务处理
  • 应交消费税通过什么科目核算
  • 金融机构利息收入缴纳增值税
  • 什么叫外埠存款
  • 企业销售商品的业务有什么特点
  • 企业计提长期借款的利息
  • 以前年度发生的费用
  • 混业经营试点
  • 企业如何避免风险
  • 有效期起止时间段与已有备案有效期有交集
  • 未担保余值是什么意思
  • 一般商贸企业出口白酒要交税吗
  • 建筑物拆除物资包括哪些
  • 服务行业营业成本占比
  • apple mac 系统
  • 工厂的绿化费进项税额
  • 资产负债表其他流动资产计算公式
  • 取得成本tc
  • 间断性断网
  • 如何更改windows用户名
  • 怎么用U盘装系统win7
  • 外购的福利费要转出吗
  • php statement
  • PHP:pg_num_rows()的用法_PostgreSQL函数
  • 交易性金融资产属于什么科目
  • 成功解决用英语怎么说
  • 小规模纳税人残保金申报时间
  • yolov5 教程
  • php中的强制类型转换函数有哪些?
  • 利润表中本期金额栏各项目应根据损益类账户的什么填列
  • 固定资产减值损失属于营业外支出吗
  • 外籍专家劳务费
  • 现金流量的折现值
  • 代发工资范围
  • 进项税转出能转回吗
  • 企业从政府部门辞职流程
  • 研发费用加计扣除2022政策
  • 串口发送字节数据的数据格式是什么
  • 发票认证系统叫什么名字
  • 企业未分配利润长期不分配
  • 总公司和分公司企业所得税分配
  • 内含报酬率的计算公式Npv
  • 企业研发费用率怎么算
  • 即征即退的收入是不征税收入
  • 退回现金会计分录
  • 费用化资本化对税收的影响
  • eclipse连接mysql代码
  • sql事务处理
  • MySQL利用命令行工具启动和关闭的命令是什么
  • 三星电脑安装系统为什么进入不了安装页面
  • win7系统远程
  • bios setup在哪里
  • win8打开桌面
  • 苹果电脑支持的u盘格式
  • Linux下SSH Session复制功能实现方法
  • linux运行apache
  • 短链接生成app
  • win7任务栏透明调不了
  • win7游戏打开没反应
  • win10应用商店下载不了
  • win10系统开机蓝屏,重启就好
  • linux中shell脚本编写
  • 都是惹得祸
  • 同一内容复制到多个单元格
  • linux shell 循环语句
  • nodejs co
  • 在xml文件里使用的命令
  • java scripts
  • 比较常见的电子商务模式
  • unity3d documentation
  • jquery使用教程
  • jquery点击按钮修改表格数据
  • 如何打印纳税申报表
  • 补缴印花税分录
  • 关于进一步加强工作纪律改进工作作风的通知
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设