Si vous rencontrez des problèmes avec Moodle, voici 10 conseils pour vous aider à identifier et résoudre le problème. Certains de ces conseils vous aideront également si votre site est bloqué pendant d’autres opérations intensives de Moodle telles que la sauvegarde, la restauration et la suppression de cours volumineux.
Vérifiez le temps d’exécution maximal de PHP.
Connecté en tant qu’administrateur Moodle, accédez à l’Administration du site > Serveur > Info PHP. Ensuite, recherchez la ligne max_execution_time et regardez la valeur dans la première colonne. Cette valeur affichée dans Moodle devrait être d’au moins 300 (5 minutes). Je l’ai mis à 600 (10 minutes) ou plus sur certains systèmes plus importants pour gérer de plus grands rapports et la suppression de cours plus importants. IMPORTANT : NE faites PAS cela depuis un shell, un terminal ou une ligne de commande. De nombreux environnements ont des paramètres PHP distincts pour le web et pour la ligne de commande.
Vérifiez le délai de déconnexion
Vérifiez le délai de déconnexion de tout pare-feu, proxy ou autre type de serveur pouvant se trouver devant votre site. Indépendamment du paramètre de délai d’attente de PHP, votre navigateur et votre serveur web resteront connectés aussi longtemps que la partie avec le délai d’attente le plus court.
Chronométrez la génération des rapports.
Les rapports peuvent planter votre serveur, Exécutez la requête SQL de votre rapport à partir d’un terminal/shell/ligne de commande. Combien de temps faut-il pour se terminer ? Cela vous donnera une idée de la durée minimale de l’achèvement. Quelle est la taille du rapport ? Redirigez la sortie de votre ligne de commande vers un fichier. La version HTML d’un rapport envoyé à votre navigateur prendra plus de temps et sera encore plus grande à générer. Si cela prend 15 minutes pour exécuter le rapport à partir de la ligne de commande, un délai d’exécution PHP de 5 ou 10 minutes ne vous aidera pas.
Exportation en tant que fichier.
Essayez-vous de produire un rapport HTML ou de l’exporter/télécharger sous forme de fichier Excel, PDF ou CSV ? J’ai rencontré des problèmes avec l’exportation vers Excel, par exemple, en raison d’une extension PHP manquante. Le pire, c’est qu’il dépassera simplement le délai imparti au lieu de s’afficher comme une erreur.
Changez l’outil utilisé pour générer les rapports.
Que utilisez-vous pour générer le rapport ? Configurable Reports, des requêtes de base de données ad-hoc ou le nouveau Générateur de rapports inclus dans les versions récentes de Moodle ? Si vous n’obtenez pas le rapport que vous souhaitez avec l’un d’entre eux, essayez-en un autre. Les requêtes de base de données ad-hoc, par exemple, sont plus légères et ont moins de fonctionnalités que les deux autres constructeurs de rapports, mais elles sont simples et peuvent produire les résultats que vous recherchez.
Si vous essayez de générer des rapports volumineux/complexes qui ralentissent votre site Moodle ou provoquent des dépassements de délai, voici quelques suggestions : Envisagez de configurer un serveur de base de données de réplica et de pointer Configurable Reports vers ce serveur de base de données alternatif. Ne pas activer le paginage et le tri JavaScript. C’est une fonctionnalité agréable pour les petits rapports, mais cela rendra votre navigateur web inutilisable pour les rapports volumineux. Générez vos rapports au milieu de la nuit, lorsque votre site est moins occupé. C’est l’une des fonctionnalités intéressantes que l’on trouve uniquement dans les requêtes de base de données ad-hoc. Elle peut même livrer automatiquement les rapports par e-mail. L’avantage du Générateur de rapports Moodle est le constructeur de rapports par glisser-déposer. Mais il est encore très jeune et n’inclut pas encore certaines des fonctionnalités plus avancées que l’on trouve dans les autres plugins de rapports pour gérer les rapports volumineux. Si cela ne suffit pas, envisagez d’utiliser un outil de reporting tiers au lieu de Moodle pour vos besoins en matière de rapports. Optimisez votre requête SQL. Si vous avez des jointures, des boucles ou des déclencheurs dans la requête SQL de votre rapport, envisagez d’optimiser la requête pour la rendre plus efficace et/ou de créer des index de table supplémentaires pour améliorer les performances de la requête.
Surveillez les ressources système.
Si la base de données ou le serveur web manque de CPU, vous devrez peut-être ajouter plus de CPU à votre système pour gérer la charge de traitement de votre rapport. Si votre serveur commence à paginer la mémoire vers un fichier d’échange, allouer plus de mémoire à votre serveur accélérera considérablement la génération de rapports. Si la configuration de votre infrastructure est assez stable, envisagez d’optimiser la configuration de votre serveur de base de données pour des performances optimales. Pour plus d’informations à ce sujet, recherchez « Optimisation et réglage des performances » et le nom de votre logiciel de serveur de base de données.
Changez de navigateur web. Si vous utilisez Chrome, essayez plutôt Firefox. Firefox est bien plus rapide pour rendre une énorme page HTML et exécuter du JavaScript intensif. Vous serez étonné de la différence que cela fait.