Overclocking do portal DO baseado em Moodle (resolvendo problemas de gargalo)

Recentemente, a questão da educação online tornou-se cada vez mais aguda, durante uma pandemia e em conexão com a transição para tudo e todos online. O site da Habr possui materiais para a instalação de um sistema básico baseado em moodle. Nesta nota, gostaria de compartilhar algumas experiências de configuração de um servidor para uso em produção (falaremos sobre configuração de software, sem clustering e alteração da configuração de hardware), para o caso em que o portal já está funcionando com alguma carga. São fornecidos exemplos para resolver problemas de gargalo que podem fazer com que o portal tenha um desempenho insatisfatório.





1. Arquivos Apache mod XSEND

A descrição é dada na página de documentação , você precisa dela porque O moodle distribui arquivos estáticos, de acordo com os direitos de acesso aos mesmos, dinamicamente. Esses tipos de adições podem aumentar o desempenho decentemente. Você pode ler mais sobre o X-Sendfile no artigo .





Esta opção está habilitada na configuração do Apache2 - especifique o diretório com os dados do moodle





XSendFile On

XSendFilePath /data/localcache/ 

XSendFilePath /data/filedir/
      
      



2. Usando php-fpm

Esta recomendação é adequada para todos os projetos LAMP mais ou menos significativos.





Você pode aumentar a partir dos parâmetros básicos: o número de conexões, o número máximo de processos em execução e ociosos para o servidor, etc.





Por exemplo, para o serviço config fpm / pool.d / www.conf





pm.max_children = 20

pm.start_servers = 10
      
      



3. Alterando os valores básicos do 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