Configuration matérielle Moodle et MySQL pour un gros site ? (en 1.8.x)

Configuration matérielle Moodle et MySQL pour un gros site ? (en 1.8.x)

par Arnaud Saint-Georges,
Nombre de réponses : 13
Bonjour,

Suite à une importante montée en charge sur notre Moodle de production (consécutive à l'intégration du C2i notamment), nous sommes confrontés à des problèmes de performance (MySQL), aux heures de pointe.

Nous sommes en Moodle 1.8.6 (et on va y rester dans les semaines à venir...) avec un serveur MySQL distinct mais non exclusivement dédié à Moodle.

Je recherche des sites comparables, du point de vue de la charge :
- 1 000 espaces-cours
- 150 catégories de cours
- 40 000 utilisateurs enregistrés (dont 200 enseignants réellement actifs sur la plate-forme)
- 50 000 associations utilisateur/cours (nombre d'occurrences dans MDL-ROLE_ASSIGNMENTS)
- 1 400 utilisateurs différents par jour, d'après le script http://[URLMoodle]/admin/user.php?sort=lastaccess&dir=DESC&perpage=1200&firstinitial=&lastinitial=&search=
- 20 000 "actions" par jour (aux jours de pointe), d'après le script http://[URLMoodle]/course/report/log/index.php

Si vous administrez un Moodle comparable sur certains de ces points, pourriez-vous me communiquer :
- la version de votre Moodle
- la configuration du serveur Moodle (ram, swap, CPU, disque)
- la configuration du serveur MySQL s'il est différent du serveur Moodle ; est-il dédié à Moodle ?

Merci d'avance !
Arnaud
Moyenne des évaluations  -
En réponse à Arnaud Saint-Georges

Re: Configuration matérielle Moodle et MySQL pour un gros site ? (en 1.8.x)

par Joseph Rézeau,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Ce serait bien si un administrateur d'un gros site comparable au nôtre pouvait nous donner des tuyaux pour "regonfler" notre Moodle. Je confirme que, du point de vue de l'utilisateur final, notre Moodle se traîne comme un escargot.sad
Joseph
En réponse à Arnaud Saint-Georges

Re: Configuration matérielle Moodle et MySQL pour un gros site ? (en 1.8.x)

par Valery Fremaux,

Une question est : comment pouvez vous mesurer qu'il s'agit d'une charge MySQL et non une charge PHP ? (Ca m'intéresse !!)

Nous prévoyons (et sommes en train de tester) pour le projet Pairformance (Intel/MEN) qui vise 100.000 utilisateurs et 2500 connectés simultanés une mise en cluster sous HAProxy avec trois frontaux Web et un double MySQL clusterisé en NDBCLUSTER.

Nous n'avons aujourd"hui fait que valider le fonctionnement du dispositif et pas encore l'hypothèse de montée en charge.

Si la charge MySQL pure peut être mise hors de cause, une première solution assez économique reste cette clusterisation de frontal. Nous avons placé les volumes contenant le code Moodle sur un volume partagé NFS (pas la meilleure solution, mais c'est pour éviter les synchros de la base de code). La perte de performance par rapport à des copies locales de la racine Moodle ont été mesurées comme perceptibles (essais subjectifs, demande à être approfondi). Avec une répartition sur deux machines, ça tourne correctement d'un point de vue 'architecture'. HAProxy est assez rapide à mettre en oeuvre, et il peut lui même être redondé. Il faut simplement que le système soit "symétrique" ce qui suppose que le Load Balancer soit sur une petite machine dédiée. Nous n'avons pas encore de mesure sur l'impact de la puissance du proxy sur l'ensemble du système.

En réponse à Valery Fremaux

Re: Configuration matérielle Moodle et MySQL pour un gros site ? (en 1.8.x)

par Arnaud Saint-Georges,
Bonjour Valery,

Merci de nous tenir au courant de tes expérimentations de "load balancing", c'est intéressant.
Nous-mêmes avons fait il y a quelques mois une tentative de répartition MySQL sur 2 serveurs. Le résultat se montrant catastrophique à l'usage, on est revenu en arrière. Mais... on y retournera !

Chez nous, puisque MySQL et Moodle ne sont pas sur la même machine, il est facile de constater que le serveur Moodle se tourne les pouces alors que le serveur MySQL est saturé peu après qu'on a démarré l'application Moodle...
En réponse à Arnaud Saint-Georges

Re: Configuration matérielle Moodle et MySQL pour un gros site ? (en 1.8.x)

par Patrick Pollet,
Ah si j'étais riche ...

La société MoodleRooms annonce des performances jusqu'à 1 million d'utilisateurs concurrents avec Moodle avec du matériel SUN

Voir http://www.moodlerooms.com/learningcenter/newsroom/news__node/2/


[pub]
As a Moodle Partner, Moodlerooms provides top-of-class service solutions to unlock learning with the open source Moodle LMS. Moodlerooms leveraged a partnership with Sun Microsystems to create a hosting solution that scales to 1 million concurrent users. By doing so, all Moodlerooms installations are run on an optimized Moodle platform that is fully maintained and supported by Moodlerooms professionals. Moodlerooms offers education, additional support and customization services to provide a solution that works for everyone from an individual teacher to a corporation of over 10,000.
[/pub]

Leur architecture de réference a été publiée par SUN ici :

http://sun.systemnews.com/articles/125/5/opt-edu/20119


PS: je n'ai pas d'actions chez eux , c'est grave Docteur ? clin d’œil
En réponse à Arnaud Saint-Georges

Re: Configuration matérielle Moodle et MySQL pour un gros site ? (en 1.8.x)

par Valery Fremaux,

Vos "galères" de répartition m'intéressent... j'ai dû pour ma part modifier pas mal le réglage de dimensionnement des clusters récemment pour ne pas bloquer le système (limite de création d'indexes, de tables, etc). Les performances sont encore en effet un peu "douteuses", mais comme nous sommes sur des VMWares avec très peu de mémoire et des conditions de réseau peu connues, difficile de se faire une idée.

Je vais voir si on peut faire des tests pour confirmer ces différences...

Nous travaillons avec l'équipe de Catalyst actuellement et avons demandé une assistance experte sur la réplication de Postgress. Postgress semble beaucoup plus stable et plus optimisée en général.

En réponse à Arnaud Saint-Georges

Re: Configuration matérielle Moodle et MySQL pour un gros site ? (en 1.8.x)

par christian theou,
Bonjour,

Je suppose que vous avez déjà utilisé des outils de tuning pour régler votre serveur MySQL mais comme je viens de découvrir le script suivant , je passe l'info.
Même pour une petite base on en retire facilement quelques informations intéressantes (Tuning_Primer script).

http://day32.com/MySQL/

Cordialement
En réponse à christian theou

Re: Configuration matérielle Moodle et MySQL pour un gros site ? (en 1.8.x)

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

j'avais effectivement ajouté un lien vers ce script depuis plusieurs mois sur la page de documentation sur les performances sourire clin d’œil

Cordialement
En réponse à Séverin Terrier

Re: Configuration matérielle Moodle et MySQL pour un gros site ? (en 1.8.x)

par christian theou,
Bonjour,
Toutes mes excuses Séverin , je n'ai pas pris le temps de lire cette page de documentation. C'est en m'intéressant à la mise en place d'un nouveau produit que j'ai découvert par hasard ce script et comme j'avais vu ce fil initié par Arnaud , je me suis empressé de le proposer.
Ah , le réflexe documentation , pas facile à acquérir !!!grand sourire



Cordialement
En réponse à Arnaud Saint-Georges

Re: Configuration matérielle Moodle et MySQL pour un gros site ? (en 1.8.x)

par Valery Fremaux,

Arnaud,

peux-tu m'en dire plus sur l'intégration C2i chez vous ?

merci.

En réponse à Valery Fremaux

Re:Intégration du C2I à Rennes 2

par Arnaud Saint-Georges,
La préparation au C2I est désormais intégrée dans les deux semestres pour les 3000 étudiants de Licence 1.
Chaque étudiant bénéficie de 20h de formation : 6h de CM + 6h de TD + 8h de Tutorat (non présentiel).
Chaque semaine, pour les TD, 4 plages de 2 heures sont réservées et 6 salles sont mobilisées pendant chacune de ces plages. Ce qui fait donc, rien que pour le C2I, environ une centaine d'étudiants connectés simultanément sur Moodle.
Par ailleurs, les étudiants se connectent beaucoup dans le cadre du tutorat.
L'évaluation en fin de formation sera organisée sur Moodle et tiendra lieu d'épreuve pratique du C2I.
L'épreuve théorique du C2I sera organisée sur la plate-forme nationale de certification/positionnement (donc pas sur Moodle).
Une dizaine d'enseignants sont mobilisés par ce dispositif...
En réponse à Arnaud Saint-Georges

Re: Configuration matérielle Moodle et MySQL pour un gros site ? (en 1.8.x)

par Thomas Poinsot,
Bonjour à tous,

je me greffe sur cette discussion pour vous demander conseil sur l'optimisation d'un serveur MySQL pour une plate-forme moins ambitieuse :
- 700 utilisateurs
- 180 espaces-cours sur 7 catégories
- 140 000 associations utilisateurs/cours
- 2 500 login par jour en moyenne
- 25 000 "actions" par jour ; 4 000 / heure en période de pointe

Une unique machine héberge Apache 2, PHP 5.1.2 et MySQL 5.026, fonctionnant sous Suse Enterprise Server 10.
Elle comporte 4 Go de RAM, un processeur Intel Xeon 7110N Dual Core Tulsa 2 2,5 Ghz/667MHz, une connexion gigabit et de l'espace disque en quantité (SCSI).

En période de pointe, voici en PJ ce que phpMyAdmin indique comme étant l'état du serveur. Le nombre de requêtes lentes me paraît élevé et, dans les faits, l'utilisateur ressent cette lenteur.

Auriez-vous des idées pour optimiser ce serveur ?

Merci par avance

Thomas

PS : je n'ai pas l'intention de polluer ou de détourner le sujet d'Arnaud. S'il est préférable de séparer ce message dans un fil distinct, je n'y vois aucun inconvénient.

En réponse à Thomas Poinsot

Re: Configuration matérielle Moodle et MySQL pour un gros site ? (en 1.8.x)

par Thomas Poinsot,
et pardon pour l'oubli : la plate-forme fonctionne sous Moodle 1.9.1+
En réponse à Thomas Poinsot

Re: Configuration matérielle Moodle et MySQL pour un gros site ? (en 1.8.x)

par Étienne Rozé,
Bonjour,

As-tu tenter d'essayer le petit script proposé plus haut par Christian ? Il semble donné des conseils en fonction des "faiblesses" du serveur.