【发布时间】: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