我正在構建一個rails 3.2.14 web應用程序和API。我希望API部分的響應速度比它更快。模型串行器比Rabl更快嗎?
我的問題是這樣的:
-
我目前使用Rabl的寶石
- 。使用Model序列化器是否更好(性能明智)?
- 有什麼我可以做的,以加快請求(也許與中間件)?
- 我如何測量API的性能?有沒有工具或服務?
感謝所有輸入!
我正在構建一個rails 3.2.14 web應用程序和API。我希望API部分的響應速度比它更快。模型串行器比Rabl更快嗎?
我的問題是這樣的:
感謝所有輸入!
關於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,並在他們的儀表板中查看性能以獲得詳細的詳細信息。