它可能是也可能不是手册所暗示的,但是一个上下文中,启用implicit_flush或调用ob_implicit_flush()具有严重的性能影响,当使用PHP与Apache通过mod_php启用

mod_deflate时.

在这种情况下,flush()调用能够通过mod_deflate将输出一直推送到浏览器.如果你有任何脚本以小块方式回显大量数据,那么刷新每个块会削弱mod_deflate压缩输出的能力,很可能导致一个比原始内容更大的“压缩”形式.

作为一个极端的例子,考虑这个回忆出一百万个随机数的简单脚本:

header('Content-Type: text/plain');

for ($i=0; $i < 1000000; $i++) {

echo rand();

echo "\n";

}

?>

随着output_buffering关闭和implicit_flush也关闭(现在),让我们在开启开发工具的Chrome中点击这个:

请注意“大小/内容”列;解压缩的输出大小为10.0MB,但由于mod_deflate的gzip压缩,整个响应被压缩到4.8MB,大小减半.

现在命中完全相同的脚本,并将implicit_flush设置为On:

再次,“解压缩”输出的大小为10.0MB.但是这一次,HTTP响应的大小是28.6MB – mod_deflate的’compression’实际上是响应大小的三倍.

对我来说,这足以理解PHP手册的建议,即关闭implicit_flush配置选项,并且仅在上下文中使用ob_implicit_flush()(或手动flush()调用),这样做实际上是有用的.

php implicit flush,php – implicit_flush的“严重性能影响”是什么?相关推荐

  1. 重绘和回流----降低回流减少性能影响

    回流和重绘 原创 2016年02月29日 14:49:02 标签: 布局 / dom 640 回流与重绘 1. 当render tree中的一部分(或全部)因为元素的规模尺寸,布局,隐藏等改变而需要重 ...

  2. 一起谈.NET技术,.Net Discovery系列之-深入理解平台机制与性能影响 (中)

    上一篇文章中Aicken为大家介绍了.Net平台的垃圾回收机制与其对性能的影响,这一篇中将继续为大家介绍.Net平台的另一批黑马-JIT.有关JIT的机制分析 ● 机制分析以C#为例,在C#代码运行前 ...

  3. 英特尔发现Spectre和Meltdown 补丁对性能影响程度为0-21%

    \ 看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料! \ \\ 微软.红帽(Red Hat)和英特尔一起发布了Meltdown和Spectre补丁对各种系统 ...

  4. 四因素三水平正交试验表_机制砂中不同因素对混凝土性能影响研究

    作为连接胶凝材料和粗骨料的媒介,砂的掺入对混凝土强度.耐久性等起着至关重要的作用.利用机制砂替代河砂配制混凝土,石粉含量.泥含量以及砂率的选择是当前面临的主要问题,机制砂石粉含量一般10%-20%,我 ...

  5. .Net Discovery系列之十一-深入理解平台机制与性能影响 (中)

    上一篇文章中Aicken为大家介绍了.Net平台的垃圾回收机制与其对性能的影响,这一篇中将继续为大家介绍.Net平台的另一批黑马-JIT.    有关JIT的机制分析    ● 机制分析    以C# ...

  6. .Net Discovery系列之十二-深入理解平台机制与性能影响(下)

    上一篇文章中Aicken为大家介绍了.Net平台的垃圾回收机制.即时编译机制与其对性能的影响,这一篇中将继续为大家介绍.Net平台的异常捕获机制与字符串驻留机制. 三.关于异常捕获机制 虽然我们已经很 ...

  7. numa对MySQL多实例性能影响

    numa对MySQL多实例性能影响,通过对numa将MySQL绑定在不同的CPU节点上,并且采用绑定的内存分配策略,强制在本节点内分配内存.具体测试如下: 1.关闭numa(numa= interle ...

  8. 内存容量对计算机运行影响大吗,探索内存容量对基础应用的性能影响有多大

    前段时间,我们针对内存容量对游戏性能的影响做了系统的探究--硬糖:探索内存容量对整机游戏性能影响有多大?那么,在应用范围更加广泛的日常工作中?不同容量,单通道.双通道内存是否也会也有着极大的性能差别呢 ...

  9. python partition by函数_python – 避免Spark窗口函数中单个分区模式的性能影响

    在实践中,性能影响几乎与您省略了partitionBy子句相同.所有记录将被洗牌到一个分区,在本地排序并逐个顺序迭代. 差异仅在于总共创建的分区数.让我们举例说明使用包含10个分区和1000个记录的简 ...

最新文章

  1. 如何打造规范的开源项目workflow
  2. python和c-C和Python我该先学什么?
  3. Android JNI入门第一篇——HelloJni
  4. spring-data-jpa 使用
  5. php表白情话,朋友圈唯美表白短句情话 适合发朋友圈的情话
  6. Phonegap 环境配置
  7. labview和python混编_将数据从LabView发送到Python并取回
  8. 抬头遇见图灵奖得主和全球顶尖科学家?超豪华阵容智源大会求带我一个!
  9. 计算机组装检测与数据恢复,计算机检测维修与数据恢复.doc
  10. 基于R软件的网状meta分析
  11. 私教课程 Day2 2017-09-14
  12. 5年500台达芬奇手术,和睦家实现技术升级
  13. python实现 模糊C均值聚类算法(Fuzzy-C-Means)-基于iris数据集
  14. 微信分享iOS Universal Link配置说明
  15. java 2048思路_浅谈2048
  16. 使用JNI造成安卓应用闪退
  17. 华硕ac68u无线最佳设置_华硕AC86U,AC88U的掉线、断流问题何时彻底解决?
  18. 微信公共平台配置域名提示,协议头非法
  19. 我司工程师荣获2020年度网络安全等级保护测评体系建设工作表现突出个人
  20. Python读写文件(txt, csv等)小结

热门文章

  1. L349. L350两个数组的交集
  2. 浅谈ffmpeg对ps文件格式的转换
  3. TextBox限制只允许数字输入,包括小数点
  4. 计算机科班与非科班概述
  5. InstallShield内部库函数
  6. richtextbox识别html,WPF html格式用richtextbox显示出来 Show HTML in RichTextBox
  7. Scala学习笔记-详细记录学习中遇到的知识点
  8. sqlserver 中EXEC和sp_executesql使用介绍
  9. 在模拟现货黄金中锻炼短线的修养
  10. 区块连为何依靠共识社区发展