像Facebook这样的社交网站如何使用PHP来保持他们的脚本检查新闻提要,而不会使服务器过载


how do social sites like Facebook using php keep their scripts checking for news feed without overloading the server?

他们是循环脚本还是有一些代码在监视?他们是怎么做到的?

我正在寻找一个编写脚本的教程,以便我可以观察数据库表的时间戳更改,当它发生变化时,代码会自动抓取该行并回显它。

Facebook依赖于用户的浏览器(javascript计时器)每X秒拉取一次新闻源(想想ajax)。他们还保留每个用户提要的缓存。

关于性能,大型互联网公司拥有巨大的马力来托管他们的应用程序(想想数百台服务器),但他们也会优化,优化,再优化。谷歌创建了自己的网络服务器,根据他们的需求进行了优化,在Facebook的案例中,他们开发了自己的数据库,称为Cassandra,然后将源代码捐赠给Apache基金会。Facebook还开发了自己的php编译器,将php代码转换为更快的C++原生代码,称为"hiphop for php",也可以免费获得。

另一方面,如果您的查询已优化,数据库索引已微调,并且您的 dbms 已配置为性能良好,则不会对所需内容产生很大性能影响。