Interface MyRapidi : Runs et Statistics optimisés pour la vitesse
Nous avons passé un certain temps le mois dernier à analyser l’utilisation et la vitesse des différentes opérations dans l’interface de MyRapidi.com
Certains de nos clients exécutent de nombreux transferts, et très souvent. Cela génère énormément d’entrées dans la table de log de la base de données de configuration correspondante. Nous avions déjà un processus qui supprime les anciennes entrées de log devenues inutiles. Par exemple, tous les messages d’erreur sont supprimés au bout de 3 mois et tous les messages de progression des transferts au bout de 7 jours.
Nous avons également un processus qui compresse les entrées de statistiques en une seule entrée mensuelle par transfert et par source/destination. Cette compression s’applique actuellement aux statistiques de plus de 1 an.
Cela aide bien sûr à limiter un peu le nombre d’entrées dans le Log, mais pour certains services nous atteignons encore facilement 10 ou 20 millions d’entrées.
Nous avons optimisé plusieurs choses dans ce domaine : nous avons testé et sélectionné les meilleurs index pour cette table, et nous avons optimisé les requêtes pour qu’elles s’exécutent le plus rapidement possible avec ces index.
Voici quelques exemples des gains de vitesse obtenus (ces durées ne valent que pour de très grandes bases de log, mais les plus petites gagnent elles aussi en vitesse, proportionnellement) :
- L’ouverture de la page Runs passe de 60 secondes à moins d’1 seconde.
- L’ouverture de la page Statistics affichant les statistiques d’un mois pour la plus grande table de log passe de 9 minutes à 1 minute (d’autres optimisations sont prévues ici).
De manière générale, l’optimisation de ces requêtes particulièrement lentes aura un effet très positif sur la réactivité de myrapidi.com, car les requêtes normales ne feront plus la queue derrière ces requêtes lentes.
Comme toujours, vos commentaires sont plus que bienvenus !
Merci
Michael