位置: 编程技术 - 正文

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

  • 收到的实收资本都能用来做什么
  • 所得税费用包括递延所得税吗
  • 如何写财务制度
  • 支出算什么会计科目
  • 税务不受地方管吗
  • 测绘费开票需备注吗
  • 固定资产清理属于流动资产吗
  • 外资企业变内资流程
  • 没收逾期未退包装物押金收益,应计入( )科目
  • 红字撤销需要带什么去税务局
  • 租赁的房子
  • 确认社保局工伤赔款会计分录
  • 住宿费专用发票会计分录
  • 长期待摊费用账户按用途和结构分类应属于
  • 小规模不动产销售不动产怎么交税
  • 没有车船税证明可以年检吗
  • 股东增资印花税税目
  • 设备定金计入哪个科目
  • 外协加工费会计分录
  • 1697508923
  • 逾期交房违约金怎么算
  • 用盈余公积弥补职工福利费是什么类型
  • 香港企业股东分红税
  • 行政事业单位向企业借款违反了什么规定
  • 收到苗木发票怎么做账
  • cpu性能天梯图2023年3月
  • 临时 文件夹
  • win7bios网络启动
  • PHP:Memcached::getByKey()的用法_Memcached类
  • PHP:stream_get_line()的用法_Stream函数
  • 服务费的进项发票怎么做
  • php 二维数组
  • 实缴资本多久可以取出随便用吗
  • 微信小程序商城源码php
  • 什么是AI工具
  • css 自定义变量
  • 令人感到惊艳
  • 电脑找不到应用程序的图标怎么删除
  • 企业确认坏账损失领导如何回复
  • 二手车折旧法
  • 补缴去年的税款会计分录
  • 集团公司内部结算
  • 什么叫坏账准备
  • python判断字符串为字母
  • 跨年的发票可以退税吗
  • MongoDB aggregate 运用篇个人总结
  • 应收帐款质保金
  • 运输服务的增值税税率到底是6还是9
  • 购入交易性金融资产的相关税费计入
  • 公户的结算卡是否可以转账
  • 公司没有收入怎么办
  • 不动产租赁可以享受加计抵减吗
  • 政府补贴的装修费是免税的吗
  • 合同约定合同期限自动顺延
  • 未开发票已收款如何做账?
  • 积分换购怎么做账
  • 工程用油计入什么科目
  • 返还的个税如何做分录
  • 仓储费计入哪个部门的费用
  • 领用自产产品用于固定资产
  • 以前年度损益调整结转到本年利润吗
  • 商业承兑过期后可以退回吗
  • 酒店酒水成本核算表
  • 计提人工成本会计分录
  • 如何利用公式计算
  • sql必会知识
  • deepin-win
  • Linux系统用命令进行盘数据往外读不可
  • 硬盘分区win7怎么扩充c盘
  • win10系统本地用户和组怎么添加
  • js筛选器
  • 置顶通知要开启吗
  • ie8兼容性模式设置在哪
  • python发送mq消息
  • javascript教程chm
  • shell命令怎么用
  • unity3d怎么让物体依次运动
  • js parsefloat parseint 转换函数
  • Python出现keyerror
  • 补交以前年度城建税费怎么做账
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设