java - Spring 社交 super 慢,有什么想法吗?

标签 java facebook optimization linkedin-api spring-social

我正在使用 Spring Social 通过 Facebook 或 LinkedIn 获取信息。 它工作完美,我得到了我想要的,但我遇到了一个问题:它非常慢。

例如,使用 linkedin 访问我的联系人的完整个人资料,每个联系人大约需要一秒钟的时间。 Facebook 也是如此。

那么,您知道这种缓慢对于 Spring Social 来说是否正常,或者是否有办法解决这一切?

最佳答案

我承认,我还没有对 Spring Social 的 API 绑定(bind)进行大量彻底的性能测试(有太多内容需要涵盖......涵盖所有内容将是一项艰巨的任务)。但是,我刚刚对 FriendOperations.getFriendProfiles() 进行了一些非常基本的速度测试,请求我的 Facebook 好友列表(160 个好友)。我发现了以下内容:

  • 平均而言,完成请求需要 2.6 秒。我确实有一次尝试花费了 7 秒多的时间,但我因为网络故障而放弃了它......所有其他尝试都在 2.6 秒左右。
  • 对于这些相同的请求,Spring Social 通过 RestTemplate 进行网络调用以获取数据的平均时间约为 2.4 秒。
  • 这使得 Spring Social 花费大约 0.2 秒(平均)来反序列化它接收到的数据。

所以,是的,2.6 秒不太理想,但其中 2.4 秒花在网络调用上,超出了 Spring Social 的控制范围。我什至将 Spring 排除在外,并通过curl 命令行工具运行相同的查询,发现该调用(平均)花费了 3.0 秒。 (这并不意味着Spring比curl更快......只是我的不科学样本更幸运一点,而且可能太小,无法说出任何明确的信息。)

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

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

简而言之,Spring Social 在性能方面可能还有改进的空间,但在获取用户 friend 的完整个人资料的情况下,它会很慢,因为获取了那么多网络上的数据速度很慢。

最后,虽然我没有针对 Spring Social LinkedIn 进行测试,但考虑到您会通过网络请求大约相同数量的数据,我想它的性能大致相同。

关于java - Spring 社交 super 慢,有什么想法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17272874/

相关文章:

java - 添加二维数组中的对角线值

Java Spring JDBC模板问题

android - Facebook Likeview 不工作

c++ - Tab 键在 IWebbrowser2 中不起作用

c++ - 调试代码的运行时间比发布代码长几个数量级

java - 当重写 Paint 方法时 JTextField 不显示

java - Java 中的绑定(bind)是什么 - 术语

Android 构建失败 : Unable to find facebook-core:5. 11.1

python lmfit "object too deep for desired array"

apache-flex - 优化 Flex 应用程序 - 在哪里可以找到我的瓶颈