2014-04-24 3 views
1

Je construis un rail 3.2.14 application web et API. Je veux que la partie API réponde encore plus vite qu'elle ne le fait.Les sérialiseurs de modèles sont-ils plus rapides que Rabl?

Ma question est la suivante:

  1. Je suis actuellement en utilisant bijou Rabl. Est-il préférable (en termes de performances) d'utiliser des sérialiseurs de modèle?
  2. Y at-il quelque chose que je peux faire pour accélérer les demandes (peut-être avec le middleware)?
  3. Comment puis-je mesurer les performances de mon API? Y a-t-il un outil ou un service pour cela?

Reconnaissant pour toute contribution!

Répondre

3

En ce qui concerne 1) et 2)

Les préférences personnelles et l'expérience antérieure favorise RABL. Il aide à segmenter les vues JSON de ma logique de code. Vous pouvez obtenir beaucoup de réutilisation avec des partiels et d'autres logiques dans le modèle de RABL et c'est pourquoi je le favorise plus que serlializers. Vous pouvez profiter pleinement de Rails.cache dans l'un ou l'autre, et encore une fois pour moi, RABL rend cela plus facile à gérer dans les approches de mise en cache complexes (comme la poupée russe).

Ceci est une bonne écriture sur la mise en cache avec serlializers (http://robots.thoughtbot.com/fast-json-apis-in-rails-with-key-based-caches-and).

Jetez un coup d'œil à (https://github.com/nesquena/rabl/wiki/Caching-in-RABL) pour les techniques de mise en cache. J'ai considérablement augmenté les performances sur les API lourdes en utilisant simplement la mise en cache.

Pour l'article 3). J'utilise NewRelic spécifiquement pour améliorer les performances de l'API. Vous pouvez tester une API et examiner les performances avec une grande précision dans leur tableau de bord.

Questions connexes