位置: 编程技术 - 正文

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

  • 分税制财政管理体制是什么?
  • 房租押金没退款怎么起诉
  • 小规模税控设备维护费怎么填申报表格
  • 银行端查询缴税凭证怎么盖章
  • 采购商品成本包括
  • 补交以前年度房产税和滞纳金需要更改以前年度报表吗
  • 超额投资是什么意思
  • 发票过期了还能抵扣吗
  • 一般纳税人税负率一般控制在多少?法律依据
  • 筹建期间的费用可以扣除吗
  • 小规模纳税人租赁发票税率是多少
  • 什么是企业所得税收入
  • 适用简易计税方法的企业提供适用零税率的应税服务
  • 人力资源劳务外包服务开票
  • 冲销货款应怎么记账
  • kb4586819更新
  • 事业单位收到拨款怎么办
  • 小规模企业亏损情况说明范文
  • nbr是什么意思中文翻译
  • 暂估入库结转成本账务处理
  • 应付票据抵付应付账款
  • 顿号用键盘怎么输入
  • 什么是融资租赁型校园贷
  • 企业财务管理的对象是什么
  • 施工企业成本费用有哪些方面构成
  • 自产产品发给员工账务处理
  • 超图的应用举例
  • php接收post数据并查询数据库
  • css点击菜单显示内容
  • 数据挖掘论文选题
  • 公司是否可以开具在职证明
  • python迭代器iterator
  • 跨域问题是什么
  • 注销企业账面大量现金如何处理
  • phpcms不支持https怎么办
  • access china
  • 请问linux
  • 固定资产投资子公司
  • 物流货损怎样处理
  • MySQL中使用命令行查看二进制文件
  • 增值税附加税的计算基数
  • 名为股权转让实为房地产转让
  • 商品购进核算
  • 已抵扣未申报的税额如何转出
  • 股权转让的印花税税率是多少
  • 固定资产清理不及时
  • 企业如果为员工缴纳社保
  • 公司给员工租的宿舍如何做分录
  • 待结算财政款项是什么科目
  • centos怎么配置ssh
  • ubuntu16.04怎么改成中文
  • mac怎么卸载第三方软件
  • win7电脑dpi怎么设置800
  • 飞行体验设备
  • unix怎么操作
  • cocos2dx官方教程
  • unity怎么念
  • nodejs和mysql
  • 怎么把perl删除干净
  • unity3d官方案例
  • unity3d的
  • eventlistener js
  • 清理服务器c盘
  • linux特殊符号转义
  • python 日期运算
  • 狗刨怎么学
  • fragment里面如何嵌套fragment
  • jquery添加文字
  • python设计gui
  • js知识总结
  • 轻轻松松学习JavaScript
  • JavaScript For Beginners(转载)
  • 亮屏功能
  • 北京税务举报投诉
  • 去哪儿网客服电话怎么转人工
  • 没有单位怎么交职工养老保险
  • 车辆保险增值税税率是多少
  • 云南增值税查验平台
  • 如何查询甘肃省清产核资系统扶贫项目资产金额
  • 出口退税 即征即退属于政府补助吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设