模型序列化器比Rabl更快吗?

时间:2014-04-24 16:10:07

标签: ruby-on-rails-3 api rest rabl

我正在构建rails 3.2.14网络应用和API。我希望API部分的响应速度比它更快。

我的问题是:

  1. 我目前正在使用Rabl gem。使用模型序列化器是否更好(性能明智)?
  2. 我能做些什么来加快请求(可能是中间件)?
  3. 如何衡量API的性能?是否有工具或服务?
  4. 感谢所有输入!

1 个答案:

答案 0 :(得分:3)

关于1)和2)

个人偏好和之前的经验有利于RABL。它有助于从我的代码逻辑中分割JSON视图。你可以在RABL模板中使用部分和其他逻辑来重复使用,这就是为什么我喜欢它而不是serlializers。您可以充分利用Rails.cache,对我而言,RABL使复杂的缓存方法(如俄语玩偶)更易于管理。

这是一篇很好的关于使用serlializers(http://robots.thoughtbot.com/fast-json-apis-in-rails-with-key-based-caches-and)进行缓存的文章。

进一步了解(https://github.com/nesquena/rabl/wiki/Caching-in-RABL)缓存技术。通过简单地使用缓存,我大大提高了重API的性能。

对于第3项)。我专门用于改进API性能的NewRelic。您可以加载测试API,并在其仪表板中查看性能的详细信息。