Page Mon Moodle très longue à charger, pour certains utilisateurs

Page Mon Moodle très longue à charger, pour certains utilisateurs

par Séverin Terrier,
Nombre de réponses : 5
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Bonjour à tou(te)s,

je vous contacte, car j'ai un problème avec la page Mon Moodle.

Pour la plupart des utilisateurs, tout fonctionne bien sourire

Par contre, pour certains utilisateurs, la page Mon Moodle met très (très) longtemps (parfois plusieurs minutes) à charger triste
Les utilisateurs concernés par ce problème sont des enseignants chargés de formation (ou assistants technique de formation), ayant des rôles attribués dans des catégories de cours, et entrainant des droits sur plusieurs sous catégories, et plus de 60 cours...

Si quelqu'un a rencontré le même problème, trouvé une solution, ou des idées, je suis preneur...

Merci d'avance sourire
Moyenne des évaluations  -
En réponse à Séverin Terrier

Re: Page Mon Moodle très longue à charger, pour certains utilisateurs

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Je ne peux pas vraiment t'aider, mais je sais que ce problème de performance (dû à des requêtes sur la BDD pour vérifier les capacités de l'utilisateur dans chaque contexte) est une préoccupation de Moodle HQ, et je crois le problème corrigé dans 2.0dev.

Peut-être y a-t-il un correctif semi-officiel ou complètement officieux quelque part dans le "Developers forum" de Using Moodle.

Bonne recherche !

En réponse à Nicolas Martignoni

Re: Page Mon Moodle très longue à charger, pour certains utilisateurs

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Bonjour,

et bien, en fait, j'avais modifié les paramètres de Mon Moodle, en autorisant l'affichage de 100 cours. Cela fonctionne beaucoup mieux en remettant à 20 clin d’œil

Il semble que 100 surcharge énormément (et, à mon sens, anormalement) Moodle triste
Moyenne des évaluations Utile (1)
En réponse à Séverin Terrier

Re: Page Mon Moodle très longue à charger, pour certains utilisateurs

par Konsiembo claude,
Bonjour;
Quelle est la procédure pour passser de 100 cours à 20 cours .
Merci
En réponse à Séverin Terrier

Re: Page Mon Moodle très longue à charger, pour certains utilisateurs

par Valery Fremaux,

Severin,

je n'ai pas directement de solution mais j'ai un outillage qui nous a déjà bien servi à piéger quelques gros problèmes de lenteurs algorithmiques.

Ce code une fois installé permet de mettre en place un grand nombre de "capteurs de mesure" dans le code de Moode, et correctement activé, permet de rendre un rapport final précis sur le "coût" en temps de telle ou telle portion de code.

Ci après un extrait du README.fr.txt :

Ce que fait la librairie :
--------------------------
La mesure de temps se contrôle, tout au long de l'exécution du code, par
trois appels de fonction :

perf_punchin('piste') démarre une piste de mesure.
perf_punchout('piste') arrête une mesure préalablement démarrée par un perf_punchin() correspondant.
perf_punchout('piste1', 'piste2') réalise une fermeture de la mesure 'piste1' et l'ouverture simultanée
de la mesure 'piste2'. Ceci permet un découpage par segment du temps d'une exécution en plusieurs segments.

Il est possible de répéter plusieurs fois une ouverture/fermeture de piste. Les temps sont alors accumulés
sur la piste et un compteur donnera le nombre de fois que la piste a été utilisée.

Vous pouvez utiliser ces trois appels pour collecter dans le déroulement du code de Moodle des temps d'exécution
des différents algorithmes/fonctions.

...

Autres points de mesure intéressants :
--------------------------------------

Piéger les entrées sorties de la librairie d'interface avec la BDD peut mesurer précisément
la charge consommée dans les transactions avec la base de données :

Piéger la fonction §565 dans /lib/dmllib.php :
function get_recordset_sql($sql, $limitfrom=null, $limitnum=null) {
 ....
}

Piéger la construction des blocks vers §373 du fichier /lib/blocklib.php
vers la fin de la fonction block_print_group(...) :

            perf_punchin('printing_'.$block->name);
            $obj->_print_block();
            perf_punchout('printing_'.$block->name);

est très utile pour mesurer précisément le "coût" des fonctions qui calculent le contenu
des blocs présents sur la page.

Piéger le code des formats de cours dans /course/format/xxxxx/format.php permet
de mesurer le temps de chaque grande partie de la page.

etc.

Avertissement :
---------------
Il existe des cas où ce dispositif de mesure ne puisse pas fournir de résultats intéressants :
ce cas est représenté par une mesure se produisant avant des redirections internes vers une
autre URL, pour laquelle vous ne pourrez voir l'apparition de vos marqueur.

Tu trouveras des instructions de déploiement en complément dans ce fichier.

Cheers.

En réponse à Valery Fremaux

Re: Page Mon Moodle très longue à charger, pour certains utilisateurs

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Merci Valery pour cela sourire
... je verrais ce que je peux en faire, dès que je trouverai un peu (plus) de temps pour cela clin d’œil