etalab / transport-site

Rendre disponible, valoriser et améliorer les données transports
https://transport.data.gouv.fr
194 stars 30 forks source link

Mise en cache de l'API #3334

Closed thbar closed 1 year ago

thbar commented 1 year ago

Après avoir fait:

On voit qu'on a environ 70k requêtes d'API par mois en projeté.

J'ai observé que:

Donc on va plutôt dans un premier temps travailler à mettre en cache de durée courte (type 60 secondes) sur les endpoints qu'AppSignal a permis d'identifier.

Ca n'améliorera pas la rapidité des réponses pour les utilisateurs actuels, mais ça nous protègera si l'usage se développe (protection du pool de connection base de données en particulier).

Je vais plancher là dessus, en m'inspirant de ce que j'avais mis en place ailleurs dans l'application, et peut-être en dégageant un behaviour Cache pour faciliter le travail dans les tests.

thbar commented 1 year ago

Si je trie par "lenteur décroissante" (et donc par potentiel de création d'ennuis sur le pool de base de données), ça donne ça, pour savoir où aller brancher le cache:

CleanShot 2023-07-18 at 17 21 58@2x

Je vois qu'on a grosso modo les contrôleurs et actions suivantes:

thbar commented 1 year ago

Une partie est en fait déjà en cache, je documenterai ça ici pour voir ce qui reste à faire.

thbar commented 1 year ago

L'essentiel est sous cache à présent, on peut clôturer et assurer la charge sans souci.

La suite du travail portera sur l'application web.