在不同时间加载页面的部分

时间:2011-06-22 02:46:25

标签: php

我从数据库输出我网站上的数据。它工作正常,除非页面加载时,它将开始显示在不同的位置,页面的某些部分将在不同的时间加载,使页面跳转直到加载。我希望它像大多数网站(Facebook,Twitter等)同时加载,而不是在不同时间输出部分代码。我正在使用PHP,我不知道是什么导致了这一点。有人知道发生了什么或者有什么相同的问题吗?

2 个答案:

答案 0 :(得分:3)

您可以尝试输出缓冲:

// before any output is generated
ob_start();

// all your code

// end of the script
echo ob_get_clean();

这将捕获生成到缓冲区的所有输出,并在脚本完成时将其转储。但是,这意味着在您的查询完成之前不会发送任何内容。您应该做的另一个考虑是尽可能优化数据库查询,以减少数据库命中的瓶颈影响。

答案 1 :(得分:1)

在您对问题的评论中,您说您已使用ob_start()“修复”此问题。缓冲整个页面实际上并不是一个好主意,因此一切都会立即出现,这会损害您感知的加载时间并使您的页面对用户来说变得更慢。研究表明slow page loads drive people away from your site。瞄准快速加载页面的另一个原因是Google has started using page speed作为对搜索结果进行排名时的信号。

像谷歌这样的大型网站实际上恰恰相反,他们flush the buffer early 经常。

一些快速页面似乎“一次加载”的原因是因为诸如有效的页面缓存,负载均衡的地理位置服务器,使用CDN以及其他诸如通过JavaScript提前刷新文档的内容

请查看Yahoo! performance guidelines,了解有关提高网页速度的更多信息。