PHP / Apache中的输出缓冲块如何工作?

时间:2010-01-15 14:28:53

标签: php apache output-buffering

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

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

P.S。如果你对我将要实现的任务的愚蠢感到惊讶,我可以说,我正在为一个专用服务器编写小流量平衡脚本,并应用了某些流量规则(IN / OUT流量比应保持在一定值)

1 个答案:

答案 0 :(得分:4)