[Moodle 3.5.7] La table "Questions" grossit exponentiellement depuis le passage à 3.5

Re: [Moodle 3.5.7] La table "Questions" grossit exponentiellement depuis le passage à 3.5

par Patrick Lemaire,
Nombre de réponses : 3
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Merci Jean-Gabriel pour cette piste.

Les informations remontées corroborent celles de l'outil caché 'admin/tool/health' en ce qui concerne les questions aléatoires (plus plein d'autres petites bombes en puissance 😩)


Après application de la « Solution » fournie par ce script pour réduire les inconsistances sur un serveur de test, les résultats paraissent encourageant.

Toute autre piste ou idée est la bienvenue !!!

Merci,
Patrick


En réponse à Patrick Lemaire

Re: [Moodle 3.5.7] La table "Questions" grossit exponentiellement depuis le passage à 3.5

par Service Usagers du Numérique,

Bonjour Patrick et Jean-Gabriel,

Merci pour votre aide et votre analyse, qui s'est avérée être la bonne.

Nous avons appliqué la requête recommandée sur la table mdl_question.

Nous avons ensuite lancé plusieurs fois en ligne de commandes le script "php admin/tool/task/cli/schedule_task.php --execute=\\qtype_random\\task\\remove_unused_questions" afin de nettoyer la table mdl_question, qui est passée de plus de 3 millions d'occurrences à 300 000 occurrences (chaque itération supprimant 10 000 questions aléatoires inutilisées dans la table).

On suspecte le traitement de mise à jour de moodle 3.1.18 à 3.5.7 d'avoir occasionné ces problèmes d'intégrité dans la table mdl_question, qui se sont retrouvés amplifiés par des sauvegardes/restaurations répétées des espaces de cours contenant des quiz avec questions aléatoires.

Encore merci.

L'équipe du SUN

Moyenne des évaluations Utile (1)
En réponse à Service Usagers du Numérique

Re: [Moodle 3.5.7] La table "Questions" grossit exponentiellement depuis le passage à 3.5

par Caroline Tartary,

Bonjour à tous,

J'ai rencontré dernièrement le même problème mais un point reste obscur pour moi :

Si je lance le script dans la console directement sur le serveur avec la commande php admin/tool/task/cli/schedule_task.php --execute=\\qtype_random\\task\\remove_unused_questions : le script met 5 à 6 minutes pour s'exécuter et j'ai 

600005 lectures
191200 écritures

D'après le journal des tâches programmées.

Par contre quand ce même script est lancé par la tâche programmée dans l'interface administration, j'ai un temps d'exécution de 1 à 2 min et 
100005 lectures
40200 écritures

Pourquoi ce différentiel ? Malgré le mot "succès" en face de résultat, j'ai l'impression que la tâche fonctionne mieux en ligne de commande.

Ce n'est pas très grave mais j'aime bien comprendre  grand sourire

Caroline



En réponse à Caroline Tartary

Re: [Moodle 3.5.7] La table "Questions" grossit exponentiellement depuis le passage à 3.5

par Service Usagers du Numérique,

Bonjour,

Sans assurance, voici mon analyse sur la question.

  • La tâche lancée via l'interface d'administration Moodle va s'exécuter à travers le serveur web (apache ou nginx, usuellement)
  • La tâche lancée via une console système sera quant à elle exécutée dans un process unix distinct, qui ne reposera pas sur l'utilisation d'un processus du serveur web
Le niveau de priorité (système)  accordé aux deux types de processus peut être différent, ainsi que les ressources allouées (php.ini distinct en mode cli et en mode apache). L'exécution au travers du serveur apache peut également être plus contrainte afin de ne pas écrouler ledit service (via des mécanismes internes à apache/nginx voire des mécanismes logiciels intégrés dans le script schedule_task).

Bien cordialement,

O.L.
Moyenne des évaluations Utile (1)