位置: 编程技术 - 正文

简单谈谈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
  • 支付给法律顾问的钱
  • 银行承兑汇票没有提示付款
  • 预收账款长期挂账如何处理
  • 劳务费和服务费一样吗
  • 视同销售有哪些?
  • 会计利润利润总额的计算
  • 材料暂估的会计分录怎么做
  • 以前年度应付账款做到制造费用如何改账
  • rtc resume
  • 公司处于亏损状态,股东要退股怎么办
  • 其他业务收入跨年调整
  • 招行网银专业版怎么登陆
  • tensorflow dlib
  • 库存现金盘盈影响营业利润吗
  • 担保损失怎么处理好
  • 企业销售不动产增值税税率
  • thinkphp addons
  • Vue3通透教程【三】Vue3代码初体验找不同
  • javascript常用的数据类型
  • php考试时间倒计时
  • 处置车辆收入缴税规定
  • 增值税专用发票有几联?
  • 统一社会信用代码多少
  • 捐款 企业
  • 关联企业利息费用债资比
  • 房地产企业拆迁还房会计处理
  • 联营扣点怎么做账
  • 购买固定资产会计凭证
  • 用友t3建账行业性质怎么选
  • 有限合伙企业分配原则
  • 开的发票超过了限额会怎样,怎么办?
  • 农行公户怎么给公户转账
  • 会计一般采用什么科目
  • centos7rpm安装命令
  • win10系统如何查看显卡配置
  • ubuntu20.04怎么用
  • ubuntu20.04忘记用户密码怎么办
  • win8 怎么样
  • Linux系统中quota磁盘命令的相关使用解析
  • centos怎么查看服务器配置
  • win8怎么关闭实时保护
  • win10怎么将任务栏图标从长条改成圆形
  • js必须掌握的
  • js给表格添加一行
  • js中eval函数是干嘛的
  • jquery设置滚动条
  • javascriptz
  • jquery点击事件写法
  • unity3d spine
  • jquery打开本地html
  • android开发最全教程
  • javascript高级程序设计第五版 pdf下载
  • 安卓中textview
  • Python性能优化指南
  • 安卓实现单选题
  • 文化事业建设费是什么税
  • 换电脑了税控盘怎么办
  • 最新印花税税目表2022
  • 个体经营所得申报密码怎样设置
  • 福建省狱警招聘医生
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设