Overclocking del portal DO basado en Moodle (solución de problemas de cuello de botella)

Recientemente, la cuestión de la educación en línea se ha vuelto cada vez más aguda, durante una pandemia, y en relación con la transición a todo y todos en línea. El sitio web de Habr tiene materiales para instalar un sistema básico basado en moodle. En esta nota, me gustaría compartir algo de experiencia en la configuración de un servidor para uso en producción (hablaremos sobre la configuración del software, sin clústeres y cambiar la configuración del hardware), para el caso en que el portal ya esté funcionando con algo de carga. Se proporcionan ejemplos para resolver problemas de cuello de botella que pueden hacer que el portal funcione mal.





1. Archivos Apache mod XSEND

La descripción se da en la página de documentación , la necesita porque moodle distribuye archivos estáticos, de acuerdo con los derechos de acceso a ellos, de forma dinámica. Este tipo de adiciones pueden aumentar el rendimiento de manera decente. Puede leer más sobre X-Sendfile en el artículo .





Esta opción está habilitada en la configuración de Apache2: especifique el directorio con los datos de moodle





XSendFile On

XSendFilePath /data/localcache/ 

XSendFilePath /data/filedir/
      
      



2. Usando php-fpm

Esta recomendación es adecuada para todos los proyectos LAMP más o menos significativos.





Puede aumentar desde los parámetros básicos: el número de conexiones, el número máximo de procesos en ejecución e inactivos para el servidor, etc.





Por ejemplo, para la configuración del servicio fpm / pool.d / www.conf





pm.max_children = 20

pm.start_servers = 10
      
      



3. Cambiar los valores 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