春天社交超慢,任何想法为什么?

时间:2013-06-24 10:06:51

标签: java facebook optimization linkedin spring-social

我正在使用Spring社交来通过Facebook或LinkedIn获取信息。 它完美无缺,我得到了我想要的东西,但我遇到了问题:它太慢了。

例如,使用linkedin访问我的连接完整配置文件需要每个联系人大约一秒钟。 Facebook也是如此。

那么,你知道Spring社交的这种缓慢是否正常,或者是否有办法解决这个问题?

1 个答案:

答案 0 :(得分:5)

我承认我没有使用Spring Social的API绑定进行过很多彻底的性能测试(这里有很多东西需要覆盖......所有这些都是一项很大的尝试)。但是,我刚刚对FriendOperations.getFriendProfiles()进行了一些非常基本的速度测试,请求我的Facebook好友列表(160位朋友)。我找到了以下内容:

  • 平均而言,请求需要2.6秒才能完成。我确实有过一次超过7秒的尝试,但我把它作为一个网络打嗝扔掉了......所有其他的都是2.6秒。
  • 对于那些相同的请求,Spring Social通过RestTemplate进行网络调用以获取数据的平均时间约为2.4秒。
  • 大约0.2秒(平均而言),Spring Social将其收到的数据反序列化。

所以是的,2.6秒不太理想,但是在Spring Social的控制范围之外,网络通话花费了2.4秒。我甚至将Spring从等式中移除并通过curl命令行工具运行相同的查询,并发现该调用(平均)为3.0秒。 (这并不意味着春天比卷曲更快......只是我不科学的样本更幸运,可能太小而无法说出任何确定的内容。)

而且,作为另外一个数据点,我通过Facebook的Graph API Explorer执行相同的查询,并在大约2.7秒内回来(平均)。

每个网络都不同,因此您的里程可能会有所不同。

简而言之,Spring Social在性能方面可能还有改进的余地,但在为用户的朋友提取完整配置文件的情况下,它只会因为取得那么多而变慢整个网络的数据很慢。

最后,虽然我没有针对Spring Social LinkedIn执行测试,但我认为它会执行大致相同的操作,因为您需要通过网络询问相同数量的数据。