Optimisation du temps de chargement des dashboards

Il est important d'optimiser le temps de chargement des dashboards afin que l'expérience utilisateur soit optimale. Serenytics dispose pour cela d'un système de cache intelligent. Voici comment le configurer au mieux en fonction de votre cas d'utilisation.

Cas 1 : Données mises à jour tous les jours

C'est souvent le meilleur compromis entre récence des données et rapidité d'affichage du dashboard.

Quelle que soit votre source de données, le process est le même :

  • dans la configuration de votre source, cliquez sur "Mettre les données en cache" et choisissez l'option "jusqu'à invalidation du cache"
  • dans le menu "Automation", créez une nouvelle tâche de type "Refresh dashboards cache" et programmez-la pour qu'elle s'exécute tous les jours (par ex. tous les matin à 3h). Choisissez le ou les dashboards dont le cache doit être rafraîchit. Tous les caches des sources utilisées dans ces dashboards seront automatiquement invalidés lors de l'exécution de la tâche, et les nouvelles données seront remises en cache. Quand un utilisateur chargera le dashboard pendant la journée, toutes les données auront déjà été chargées en cache par le script. Notre moteur de calcul n'aura rien à calculer et le temps d'affichage sera ainsi réduit au minimum.

Cas 2 : Affichage d'un dashboard à la semaine ou au mois

C'est le même principe que le point précédent. Il suffit de programmer la tâche pour qu'elle s'exécute chaque semaine ou chaque mois au lieu de chaque jour.

Cas 3 : Dashboard live

Si votre dashboard doit absolument afficher les données les plus récentes, plusieurs stratégies s'offrent à vous afin d'obtenir les meilleures performances de chargement des dashboards.

Si la source est une source de type SQL hébergée chez vous, et qu'elle n'est pas déjà saturée au niveau des performances :

Dans ce cas le plus simple est d'effectuer un appel à notre API REST d'invalidation de cache dans votre back-end, à chaque fois que vous modifiez les données.

Dans les autres cas :

Il faut synchroniser les données dans notre datawarehouse interne (et utiliser cette nouvelle source de type Storage dans vos dashboards). Pour cela, deux solutions :

  • soit via un script python qui synchronise les données de manière incrémentale, et que vous programmez par ex. toutes les 5 minutes si c'est très rapide, ou toutes les heures sinon.
  • soit en poussant les données directement dans notre datawarehouse à chaque fois qu'elles sont modifiées chez vous, en faisant appel à notre API batch depuis votre back-end.

Notes

  • Mettre à jour les données dans le datawarehouse interne de Serenytics, notamment via la méthode batch, invalidera le cache de la source automatiquement.