【发布时间】:2014-04-17 15:27:16
【问题描述】:
我有一个从多个来源加载数据的产品搜索页面。为了速度优化,我将 ob_start() 放在页面顶部,并将 ob_end_flush() 放在底部,以便所有输出都被缓冲然后打印。但这会使页面加载速度更慢。它增加了大约 0.3 秒的实际页面加载时间。
任何想法为什么会发生这种情况?
【问题讨论】:
我有一个从多个来源加载数据的产品搜索页面。为了速度优化,我将 ob_start() 放在页面顶部,并将 ob_end_flush() 放在底部,以便所有输出都被缓冲然后打印。但这会使页面加载速度更慢。它增加了大约 0.3 秒的实际页面加载时间。
任何想法为什么会发生这种情况?
【问题讨论】:
您为什么首先希望这会加快速度?!
输出缓冲停止内容被发送到客户端。它会保留所有内容,直到您使用 ob_end_flush 发布它。如果您没有缓冲,内容将在您开始输出后立即发送到客户端。当然,根据定义,输出缓冲会延迟内容的发送。
【讨论】: