【问题标题】:How output buffering blocks in PHP/Apache works?PHP/Apache 中的输出缓冲块如何工作?
【发布时间】:2011-01-05 13:05:25
【问题描述】:

假设我将随机数据从 PHP 回显到浏览器。随机数据总量约为 XGb,回显以 YKb 块完成。不使用 ob_start()。在 PHP 和 Apache 缓冲区已满后 echo 调用是否会阻塞(客户端无法以与生成相同的速度使用数据)?如果是这样,PHP 和 Apache 缓冲区的大小是多少?我理解正确吗,流程:

  • PHP 回显正在向 php 输出缓冲区发送字节,直到它已满。之后 echo 开始阻塞,直到一些缓冲区被发送到 Apache 并因此被清除
  • PHP 正在从其输出缓冲区发送数据,直到 Apache 缓冲区已满。之后 Apache 停止从 PHP 接收数据并等待,直到部分缓冲区被发送到客户端并被清除。

附:如果您对我要完成的任务的愚蠢性感到惊讶,我可以说,我正在为应用了某些流量规则的专用服务器编写小型流量平衡脚本(输入/输出流量比应保持在某个值) .

【问题讨论】:

    标签: php apache output-buffering


    【解决方案1】:

    【讨论】:

    • 是的,这说明了一点。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2011-03-07
    • 2013-02-08
    • 1970-01-01
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    相关资源
    最近更新 更多