2014-04-24 23 views
1

我正在構建一個rails 3.2.14 web應用程序和API。我希望API部分的響應速度比它更快。模型串行器比Rabl更快嗎?

我的問題是這樣的:

    我目前使用Rabl的寶石
  1. 。使用Model序列化器是否更好(性能明智)?
  2. 有什麼我可以做的,以加快請求(也許與中間件)?
  3. 我如何測量API的性能?有沒有工具或服務?

感謝所有輸入!

回答

3

關於1)和2)

個人喜好和以前的經驗傾向於RABL。它有助於從我的代碼邏輯中分割JSON視圖。你可以通過RABL模板中的partials和其他邏輯獲得大量的重用,這就是爲什麼我比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項)。我使用NewRelic專門用於API性能改進。您可以加載測試API,並在他們的儀表板中查看性能以獲得詳細的詳細信息。