Overclocking du portail DO basé sur Moodle (résolution des problèmes de goulot d'étranglement)

Récemment, la question de l'éducation en ligne est devenue de plus en plus aiguë, lors d'une pandémie, et en lien avec la transition vers tout et tout le monde en ligne. Le site Web Habr contient du matériel pour installer un système basique basé sur moodle. Dans cette note, je voudrais partager une certaine expérience de la configuration d'un serveur pour une utilisation en production (nous parlerons de la configuration du logiciel, sans clustering et de la modification de la configuration matérielle), pour le cas où le portail fonctionne déjà avec une certaine charge. Des exemples sont fournis pour résoudre les problèmes de goulot d'étranglement pouvant entraîner des performances médiocres du portail.





1. Fichiers Apache mod XSEND

La description est donnée sur la page de documentation , vous en avez besoin car moodle distribue des fichiers statiques, en fonction des droits d'accès, de manière dynamique. Ces types d'ajouts peuvent augmenter les performances de manière décente. Vous pouvez en savoir plus sur X-Sendfile dans l' article .





Cette option est activée dans la configuration Apache2 - spécifiez le répertoire avec les données moodle





XSendFile On

XSendFilePath /data/localcache/ 

XSendFilePath /data/filedir/
      
      



2. Utilisation de php-fpm

Cette recommandation convient à tous les projets LAMP plus ou moins significatifs.





Vous pouvez augmenter à partir des paramètres de base: le nombre de connexions, le nombre maximum de processus en cours et inactifs pour le serveur, etc.





Par exemple, pour le service config fpm / pool.d / www.conf





pm.max_children = 20

pm.start_servers = 10
      
      



3. Modification des valeurs de base de php.ini

max_input_vars ( ). , . , , , .





max_input_vars = 1000000

upload_max_filesize = 512M 

max_execution_time = 600

memorylimit = 512M

post_max_size = 512M

max_input_time = 300
      
      



moodle Linux , php. opcache . Memcached ( ) .. , .





5.

moodle . - , , (- ). . .





(Relay) , , Postfix.





- transport





* smtp:my.pochta.ru







6. Mysql

, MYSQL. MYSQL , . mysqltunner.





- , .





query_cache_size = 16M

innodb_buffer_pool_size = 3500M 

tmp_table_size = 68M

max_heap_table_size = 68M 

join_buffer_size = 256K 

table_open_cache =400
      
      



, , ( du). - . https://docs.moodle.org/310/en/System_paths





8.

LAMP :) ( ). - , , (, .).





. .





, - moodle .





!





.








All Articles