我如何加快/我/家庭请求?

时间:2012-07-18 14:40:27

标签: facebook-graph-api optimization facebook-fql

我有一个应用程序,我想要显示朋友分享的项目。这基本上是您的Facebook新闻Feed中显示的数据子集,所以我抓住了/me/home,然后过滤掉了一些我不需要的东西。

问题是/me/home非常慢。我看到的响应时间范围在1200到10000毫秒之间,平均可能在4秒左右。

即使使用缓存连接和正确执行SSL的HTTP库,这些请求时间也不会发生太大变化。

有没有人知道获取新闻Feed的更好方法?当我在浏览器中打开Facebook时,新闻Feed几乎立即出现。所以我想知道是否有一些针对此数据优化的Graph API调用,或者已经缓存了此结果。

是否可能有 FQL 替代方案?

1 个答案:

答案 0 :(得分:2)

您可以在FQL中执行此操作。这个查询应该让你开始:

SELECT post_id, actor_id, target_id, message, attachment FROM stream WHERE filter_key = 'others'

在我的Feed上的Graph API资源管理器中,FQL查询的响应时间约为1000毫秒,而me/home的响应时间约为2500毫秒。

对于Facebook的主页,请记住,他们使用一系列AJAX查询一次一点地填充页面上的每个框。我上周在一家酒店的连接速度非常慢,并且逐个观看这些填充框。新闻Feed一次填充五个帖子,然后是页面上的其他框。如果页面加载性能可能是一个问题,您可能希望转移到异步模型。

FQL肯定会对此有所帮助,因为您可以在FB返回之前过滤数据,而不仅仅使用Graph API。