Übertakten des DO-Portals basierend auf Moodle (Lösen von Engpassproblemen)

In jüngster Zeit ist die Frage der Online-Bildung während einer Pandemie und im Zusammenhang mit dem Übergang zu Online alles und jeder immer akuter geworden. Auf der Habr-Website finden Sie Materialien zur Installation eines grundlegenden Moodle-basierten Systems. In diesem Hinweis möchte ich einige Erfahrungen beim Einrichten eines Servers für den Produktionsbetrieb (wir werden über das Einrichten von Software ohne Clustering und Ändern der Hardwarekonfiguration sprechen) für den Fall teilen, dass das Portal bereits mit einer gewissen Last arbeitet. Es werden Beispiele bereitgestellt, um Engpassprobleme zu beheben, die zu einer schlechten Leistung des Portals führen können.





1. Apache Mod XSEND-Dateien

Die Beschreibung finden Sie auf der Dokumentationsseite , Sie benötigen sie da Moodle gibt statische Dateien entsprechend den Zugriffsrechten dynamisch aus. Diese Art von Ergänzungen kann die Leistung anständig steigern. Weitere Informationen zu X-Sendfile finden Sie im Artikel .





Diese Option ist in der Apache2-Konfiguration aktiviert. Geben Sie das Verzeichnis mit den Moodle-Daten an





XSendFile On

XSendFilePath /data/localcache/ 

XSendFilePath /data/filedir/
      
      



2. Verwenden von php-fpm

Diese Empfehlung eignet sich für alle mehr oder weniger bedeutenden LAMP-Projekte.





Sie können die grundlegenden Parameter erhöhen: die Anzahl der Verbindungen, die maximale Anzahl der ausgeführten Prozesse und den Leerlauf des Servers usw.





Zum Beispiel für die Dienstkonfiguration fpm / pool.d / www.conf





pm.max_children = 20

pm.start_servers = 10
      
      



3. Ändern der Basiswerte von 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