Conexões Moodle

Conexões Moodle

por Victor Flores -
Número de respostas: 8

Bom dia,

 

Tenho o moodle instalado em um servidor dedicado. Liberei a prova para os alunos, só que quando chegou com 200 alunos realizando a avaliação o sistema caiu. Existe algum meio de melhorar a performance do moodle?

Em resposta à Victor Flores

Re: Conexões Moodle

por Lino Vaz Moniz -

Opa Victor, tudo blz

Há vários fatores que impactam no desempenho do servidor. Os mais importantes no que tange a quantidade de usuários acessando são:

  • Quantidade de memória RAM disponível no servidor;
  • Quantidade máxima de memória que alocado por usuário
  • Quantidade de processador alocado no servidor;
  • Quantidade máxima de conexão configurado no banco de dados.

via de regras essas variáveis que devem ser observados quando há gargalo. No sistema Linux há alguns soft de monitoramento como:

  • htop 
  • nmon
  • iotop

Esse ao rodar esses soft terá como ter uma visão qual dos recursos memória e processador está sendo mais consumido. Por outro lado, para examinar a causa do gargalo, é necessário analisar o log de erro do apache e mysql. Esses log, apontam falha e motivos que ocorreu. Isso auxilia na análise de solução. 

Uma alternativa bem em conta é usar servidores cloud da Digitalocean, Lonode e Amazon. Esses datacenters oferecem possibilidade de gerenciar servidores com escalonamento horizontal, ou seja, criar balanceamento de carga. Isso significa que a medida que aumentar quantidade de usuários simultâneos, novos servidores serão alocados automaticamente. O balanceamento de carga é recomendo para sistemas grandes, sistema de pequeno ou médio porte podem ser solucionados com uma única máquina ou duas máquinas. Uma para aplicação e outra para banco de dados. 

Em resumo, Victor, detalhe mais a capacidade da máquina e configuração que ta usando. Assim, podemos lhe auxiliar de forma mais precisa. 

Em resposta à Lino Vaz Moniz

Re: Conexões Moodle

por Victor Flores -

Boa tarde,

 

Segue as configurações do servidor:

Memoria: 15GB

Disco: 1TB

CPU: Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz de 8 núcleos

Em resposta à Lino Vaz Moniz

Re: Conexões Moodle

por Victor Flores -

Boa noite, 

 

Existe algum meio de melhorar a perfomance do mysql atraves do arquivo my.conf? Essa mudança melhora a performance do moodle?

Em resposta à Victor Flores

Re: Conexões Moodle

por Lino Vaz Moniz -

Victor,

A configuração que você descreve da máquina é boa. Por essa capacidade de hardware dá para suportar mais de 200 usuários.  O problema pode estar na configuração. Sugiro efetuar os seguintes checklist:

1) Qual é o valor que está alocado na variável  max_connections do MySQL. Por padrão, vem 100. Este valor deve ser alterado para quantidade maior de usuário. Se após a instalação do MySQL não foi feito nenhum ajustes, é necessário fazer alterando alguns parâmetros tais como: key_buffer, query_cache_size, query_cache_limit, innodb_buffer_pool_size, innodb_log_buffer_size  entre outros.  

2) Na configuração do PHP verifique a configuração dos seguintes parâmetros: memory_limit,  post_max_size, max_execution_time e outros. 

 max_connections
Em resposta à Lino Vaz Moniz

Re: Conexões Moodle

por Victor Flores -

Bom dia,

 

Lino, qual valores posso colocar? Tem algum modelo de valores que posso colocar que acha ideal para o meu servidor?

Em resposta à Victor Flores

Re: Conexões Moodle

por Lino Vaz Moniz -

Victor,

Vou compartilhar aqui uma configuração de servidor. 

Cenário

 Servidor usado para rodar Moodle e sistema GMoodle, o antigo sistema de relatório, atualmente substituído pelo MRport. 

Capacidade

32 GB RAM

500 GB SSD

8 CPU

Configuração PHP

date.timezone = America/Sao_Paulo
upload_max_filesize=1200M
post_max_size=1200M
max_execution_time=30
memory_limit=300M

Configuração do MySQL

innodb_buffer_pool_size = 4G
innodb_buffer_pool_instances = 6
innodb_additional_mem_pool_size = 512M
innodb_log_buffer_size = 256M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_file_per_table = 1
innodb_flush_method=O_DIRECT
key_buffer= 4G
max_allowed_packet= 500M
max_connections= 300
query_cache_size= 160M
query_cache_limit= 10M


Essa configuração pode não valer para o seu caso. Foi uma configuração ajustada em contexto específico de um servidor que rodava outros serviços além do Moodle. 

Em resposta à Lino Vaz Moniz

Re: Conexões Moodle

por Laura Freedman Lau -

Já experimentou um serviço de internet melhor? Já aconteceu comigo que às vezes falha a conexão devido ao serviço de internet. No meu caso usaram a TIM que tem pacotes bons, você tem que avaliar o que melhor conecta na sua área e se tiver interesse em contratar o da operadora de telefonia.

Em resposta à Laura Freedman Lau

Re: Conexões Moodle

por Lino Vaz Moniz -

Uma alternativa para aumentar performance do servidor e revisar configuração do mysql, php e apache. 

No post sobre performance do servidor há documento de autoria de Paulo Angelo que apresenta várias soluções de configuração.

Já tive relato se situação parecida que a partir de 200 usuário dava gargalo. A máquina tinha boa configuração. Neste caso, ancorando no documento de consultoria foi feito ajuste no apache. Alteando para:

<IfModule mpm_prefork_module>
StartServers 20
MinSpareServers 20
MaxSpareServers 100
MaxRequestWorkers 600
MaxConnectionsPerChild 30
</IfModule>

Essa configuração é contextualizado e recomendado no neste relatório de consultoria