Bonjour à tous,
J'utilise actuellement moodle 3.1 avec 2300 utilisateurs and 130 cohortes.
Nous rencontrons des timeouts lors de l'import d'utilisateurs via CSV. L'import de 30 utilisateurs prend plus de 5 minutes.
En utilisatnt Xdebug, je vois une grande activité sur les notes et la table d'historique des notes (15000 appels à la fonction grade_grade::fetch, 70000 appels à grade_object->construct)
Postgresql montre 109000 requêtes pour cet import de 30 utilisateurs.
Les requêtes les plus fréquentes sont :
SELECT * FROM mdl_grade_grades WHERE itemid = '...' AND userid = '...';
SELECT
*
FROM
mdl_grade_items
WHERE
itemtype = '...'
AND itemmodule = ''
AND iteminstance = ''
AND courseid = '';
INSERT INTO mdl_grade_grades_history ( itemid, userid, rawgrade, rawgrademax, rawgrademin, rawscaleid, usermodified, finalgrade, hidden, LOCKED, locktime, exported, overridden, excluded, timemodified, feedback, feedbackformat, information, informationformat, ACTION, oldid, source, loggeduser ) VALUES ( '', '', NULL, '', '', NULL, NULL, NULL, '', '', '', '', '', '', '', NULL, '', NULL, '', '', '', '', '' ) RETURNING id;
Est-ce un comportement habituel de moodle de travailler ainsi que les grades et d'insérer dans grades_history, à l'insertion de nouveaux utilisateurs ?
Je précise que lors de l'import les utilisateurs sont placés dans un cohorte en utilisant le champ cohort1. Par ailleurs l'inscription dans les cours se fait par la méthode "Synchronisation des cohortes". J'ai actuellement 1544 / 7382 Méthodes/inscriptions avec ce plugin.
Si je n'utilise pas le champ cohort1, l'import se fait rapidement. Si je place les utilisateurs dans un cohorte système non reliée à des cours, l'import est également rapide. Mais les problèmes apparaissent ensuite lors de la mise à jour des inscriptions dans le cours après avoir déplacé la cohorte dans la bonne catégorie.
Cordialement