MTES-MCT / dialog

Intégration de la réglementation de circulation dans les solutions numériques
https://dialog.beta.gouv.fr
GNU Affero General Public License v3.0
9 stars 0 forks source link

Mise en cache #143

Open florimondmanca opened 1 year ago

florimondmanca commented 1 year ago

Pour le passage à l'échelle de DiaLog, il pourra être pertinent de mettre en place un système de cache

Par exemple au niveau des requêtes SQL par un cache applicatif tq proposé ici : https://thomas.jarrand.fr/blog/cache-query-avec-symfony-messenger/

D'autres couches de cache pourront être étudiées ou vérifiées (ex : fichiers statiques, pages HTML...)

johanricher commented 9 months ago

Est-ce que ce sujet est encore à l'ordre du jour ?

Il faudrait mieux définir la notion de "passage à l'échelle" en déterminant le problème à résoudre et le ou les critères d'acceptation.

florimondmanca commented 9 months ago

On ne l'a jamais vraiment traité même si ça reste un aspect intéressant à garder en tête

Par "passage à l'échelle", je voulais dire qu'à partir d'un certain nombre d'utilisateurs, sans cache, on risque d'observer des ralentissements ou une trop grosse charge sur les serveurs -- ou plutôt, les utilisateurs risquent de faire l'expérience de ces ralentissements (on ne s'en rendra pas compte sauf si on mesure ou qu'on utilise la prod nous-mêmes).

Tant qu'on reste sous la centaine d'utilisateurs actifs (pifomètre) je pense que ça ne sera pas un sujet. Mais au-delà ça pourrait nous arriver.

Il y a un compromis entre le gain de performance ou d'efficacité permis par de la mise en cache, et de la complexité technique pour gérer ce cache.

Donc je dirais qu'il faudrait identifier là où il serait intéressant de mettre en place du cache. Pour cela, je pense qu'il faudrait avoir un minimum d'outils de mesure

En tout cas à ce jour ça n'est pas un sujet, je pense. C'est un travail d'optimisation d'un système déjà lancé et actif, je dirais.