位置: 编程技术 - 正文

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

  • 职工享受工伤津贴的条件
  • 预收款增值税纳税义务发生时间与确认收入时间
  • 控股子公司注销了可以起诉总公司吗怎么办
  • 普通发票被作废的话财务会发现吗
  • 处置投资性房地产的损益怎么算
  • 海关入库成功下一步干嘛
  • 固定资产替换公式
  • 小企业汇算清缴所得税分录
  • 流动比率与速动比率之差等于现金比率
  • 本月采购下月付款怎么记账
  • 出口退税是退进项
  • 固定资产交换的账务处理
  • 营改增后租金收入交什么税
  • 年初未分配利润加本年净利润等于
  • 学校发票抬头类型填企业还是非企业
  • 专用发票第一次怎么开
  • 会计如何做调整会计分录
  • 固定资产可以一次计入费用吗
  • 本月暂估入库,下月
  • 贴现扣的钱叫什么
  • 工商年报的纳税总额怎么填写
  • 企业医保分几种
  • 员工因违反公司规章制度被辞退有补偿吗
  • 进口关税和进口增值税怎么算
  • win10蓝屏怎么弄
  • 电脑每次开机都要选择系统怎么办
  • php str函数
  • 押金未退会计分录
  • 贷款减值损失准备怎么算
  • 今天中秋节
  • 收到无法支付的押金收入
  • 日本的萤火虫
  • 预加载的目的是什么
  • 远眺格斯韦因斯泰因村和格斯韦因斯泰因城堡 (© Juergen Sack/Getty Images)
  • 金融负债期末可以转出吗
  • 定期定额个体户超定额怎样申报
  • C++ Linux Web Server 面试基础篇-操作系统(四、线程通信)
  • import vue from vue报错
  • php预处理查询
  • React面试题最全
  • 常用的css样式有哪些
  • 现金日记账的结账方法
  • 对供应商的罚款通知怎么写
  • 房产自用改为出租如何申报房产税
  • 政府补贴什么时候开始的
  • 收到的赠品直接用吗
  • 印花税申报完成如何缴纳
  • 工程结算是含有增值税吗
  • 低值易耗品怎么摊
  • 房产税和土地使用税什么时候申报
  • 财务费用?
  • 全额计提的坏账怎么做账
  • 多缴所得税返还会计分录
  • 代理服务费计入什么科目
  • 工业企业如何建立税务风险预警体系工作表
  • windows hellopin是什么意思
  • 老毛桃U盘装系统综合教程
  • winxp开机界面后老重启
  • ubuntu如何创建文件
  • windows自带搜索引擎
  • win版本微信
  • windows8怎么设置
  • 鲁大师安装失败怎么回事
  • centos硬件配置
  • win7没有媒体功能
  • 你需要windows7sp1才能安装ie11
  • win10控制面板如何卸载软件
  • win8 设置
  • win10怎么设置图片
  • win8.1优化工具
  • 获取本机ip地址命令
  • dom教程
  • ssh自动输入密码登录
  • bootstrap按钮图标
  • python爬虫快速入门
  • comparable接口怎么用
  • 山东契税补贴政策2023年
  • 黄南同仁县海拔多少米
  • 宁波国家税务局电子税务局
  • 芜湖办税服务厅
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设