Outils pour utilisateurs

Outils du site


blocks:usestats:technique:cache

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

blocks:usestats:technique:cache [2026/01/13 08:19] – créée - modification externe 127.0.0.1blocks:usestats:technique:cache [2026/10/18 00:14] (Version actuelle) – admin
Ligne 1: Ligne 1:
 <html><!-- nomoodle --></html>{{ :blocks:logo-apl.png?nolink |}}<html><!-- /nomoodle --></html> <html><!-- nomoodle --></html>{{ :blocks:logo-apl.png?nolink |}}<html><!-- /nomoodle --></html>
-===== Bloc Use Stats (Mesure d'activité) : Cache d’agrégats=====+===== Bloc Use Stats (Mesure d'activité) : Cache d'agrégats =====
  
-Pour des usagers très actifs, la somme des historiques à compiler pour chaque affichage du contenu du bloc peut être très lourde à traiter. Le bloc Use Stats fournit en effet un affichage basé sur le calcul **réel** des temps tel que perçu par les traces des utilisateurs. +Pour des usagers très actifs, la somme des historiques à compiler pour chaque affichage du contenu du bloc peut être très lourde à traiter. Le bloc Use Stats fournit en effet un affichage basé sur le calcul **réel** des temps tel que perçu par les traces des utilisateurs.
  
-Si la période de compilation est importante, par exemple 90 ou 180 jours, l'affichage du bloc peut assez conséquemment ralentir le site et charger le serveur en mobilisation de ressources. +Si la période de compilation est importante, par exemple 90 ou 180 jours, l'affichage du bloc peut ralentir sensiblement le site et mobiliser beaucoup de ressources serveur.
  
-Depuis la version 2016051500 a été ajouté un cache d’agrégats permettant de stocker temporairement les résultats d’agrégation de temps pour un utilisateur donné sur une période donnée. Le cache calcule les débuts et fin de période sur la base des vrais enregistrements d'historiques. Ainsi, deux demandes d'affichage portant sur une période distincte, mais adressant la même série d'historiques pourra néanmoins utiliser l’agrégat de cache au lieu de recompiler tous ces historiques. +Un cache d'agrégats permet de stocker temporairement les résultats d'agrégation de temps pour un utilisateur donné, dans un cours donné, sur une période donnée. Il s'appuie sur l'API de cache de Moodle (cache de type //application//, définition ''block_use_stats/aggregate'') : son stockage et sa purge manuelle dépendent donc de la configuration des caches de Moodle (//Administration du site / Plugins / Caches//).
  
-==== Nettoyage et rafraichissement du cache ====+==== Clé de cache ====
  
-Le cache est nettoyé sélectivement par la tâche programmée ''TTL du cache d'agrégats'' qui est réglée par défaut à 10 minutes de fréquence. +Une entrée du cache est identifiée par :
  
-La tâche de nettoyage supprime les entrées cachées d'un utilisateur ayant eu une activité sur le site dans les 30 minutes précédent le passage de la tâche.+  * l'utilisateur, 
 +  * le cours courant (la résolution des modules en dépend), 
 +  * les bornes de la période de compilation, arrondies à une granularité de **10 minutes**.
  
-Ainsi, pour les utilisateurs non actifs, le cache reste en place pour toute nouvelle demande d'une période d'extraction pour cet utilisateur, sur la base des historiques acquis de cet utilisateur.+La période se terminant généralement à "maintenant", cet arrondi fait que plusieurs affichages successifs du bloc, ou des demandes de périodes voisines, partagent la même entrée de cache au lieu de recompiler tous les historiques.
  
-Pour les utilisateurs actifs au moment de la demande, les résultats sont réactualisés toutes les 10 minutes (la fréquence de la tache).+Pour chaque utilisateur, le cache mémorise la liste de ses clés. Cette liste est limitée à **20 entrées** : au-delà, les agrégats les plus anciens sont supprimés. 
 + 
 +==== Calcul en cas d'absence dans le cache ==== 
 + 
 +Quand l'agrégat n'est pas dans le cache, le bloc extrait les logs de la période puis calcule les temps. Une sécurité protège la mémoire : si le nombre d'entrées de log de l'utilisateur sur la période dépasse le réglage //Nombre maximum d'entrées de log pour l'affichage du bloc// (50000 par défaut), un avertissement s'affiche à la place de la statistique et rien n'est mis en cache. Voir la [[:blocks:usestats:technique:settings|configuration générale]]. 
 + 
 +==== Nettoyage et rafraîchissement du cache ==== 
 + 
 +Le cache est nettoyé sélectivement par la tâche planifiée //TTL du cache d'agrégats//, exécutée par défaut toutes les 10 minutes. 
 + 
 +La tâche supprime les entrées cachées des utilisateurs ayant eu une activité sur le site dans les 30 minutes qui précèdent son passage (d'après leur dernier accès). 
 + 
 +Ainsi, pour les utilisateurs inactifs, le cache reste en place pour toute nouvelle demande de période d'extraction, sur la base des historiques déjà acquis. Pour les utilisateurs actifs, les résultats sont réactualisés au plus toutes les 10 minutes, fréquence de la tâche. 
 + 
 +==== Cache de la zone PRO ==== 
 + 
 +Une seconde définition de cache, ''block_use_stats/pro'', est réservée aux données spécifiques de la zone PRO.
  
 ---------- ----------
 <html><!-- nomoodle --></html> <html><!-- nomoodle --></html>
-[[:blocks:usestats:Technique|Revenir à l'index du guide technique]] - [[:Plugins|Revenir à l'index des plugins]] - [[:start|Revenir au catalogue]]+[[:blocks:usestats:technique|Revenir à l'index du guide technique]] - [[:Plugins|Revenir à l'index des plugins]] - [[:start|Revenir au catalogue]]
 <html><!-- /nomoodle --></html> <html><!-- /nomoodle --></html>
blocks/usestats/technique/cache.txt · Dernière modification : de admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki