Lentidão Moodle 2.8 - Fórum

Lentidão Moodle 2.8 - Fórum

por Joelias Junior -
Número de respostas: 9

Olá,

Estou usando Moodle 2.8.3. Todos os dias quando atinjo a partir de 30 alunos online simultâneo, a plataforma já começa a apresentar lentidão.


O formato de curso que usamos faz com que todos os alunos conectados estejam na mesma atividade na mesma hora, então, todos os dias sempre que todos acessam ao fórum a lentidão é tamanha, que muitas vezes trava o Moodle.

Sempre que isso acontece, me conecto ao servidor e não consigo achar nenhuma alteração de comportamento do apache ou mysql.

Alguém já passou por problema semelhante ou tem idéia do que possa ser?

Desde já, obrigado!

Contagem das avaliações:  -
Em resposta à Joelias Junior

Re: Lentidão Moodle 2.8 - Fórum

por Eduardo Kraus -
Imagem de Plugin developers

O Servidor esta com Linux ou ruWindows?

É servidor dedicado? Quanto de memória? Processador?

É muito provável que esta lentidão seja:

  1. Hospedagem com servidor de pequeno porte (para caso de hospedagem compartilhada);
  2. Servidor é ruWindows com menos de 4GB de memória;
  3. Pouca memória;
  4. Pouco processador;
  5. I/O de disco (HD) baixo.

Muito prazer, sou Eduardo Kraus
Teacher and loves Moodle
Meu Blog: moodle.eduardokraus.com
Meu Youtube: www.youtube.com/user/ProfEduardoKraus
Meu Facebook: www.facebook.com/ProfEduardoKraus

Contagem das avaliações:  -
Em resposta à Eduardo Kraus

Re: Lentidão Moodle 2.8 - Fórum

por Joelias Junior -

Olá Eduardo,

Obrigado por me responder.

Windows eu não vejo há muito tempo. rsrs 

Nosso servidor é CentOS. Eu uso o NewRelic para monitorar e tanto ele quanto através do comando top, posso ver consumos de memória, processador e I/O normal.

É um VPS com 2 cores, 4Gb de memória e 2TB de banda. Acho que hardware não é o problema.

Alguma outra sugestão?

Contagem das avaliações:  -
Em resposta à Joelias Junior

Re: Lentidão Moodle 2.8 - Fórum

por Helbert dos Santos -

Olá Joelias,

Provavelmente é uma queda de performance no Apache, pois para cada requisição Moodle via web o Apache abre um processo, e com 2 cores ele não consegue responder rapidamente para praticamente 30 acessos simultâneos. E claro, se possível um upgrade no número de cores.

Tente fazer um tuning no Apache e MySQL para responder mais rápido e otimizar seus recursos de hardware: memcache e opcache, bem como as configurações prefork do Apache.

Abraços

Helbert dos Santos http://codely.com.br

Contagem das avaliações:  -
Em resposta à Helbert dos Santos

Re: Lentidão Moodle 2.8 - Fórum

por Eduardo Kraus -
Imagem de Plugin developers

Ser dois o mais cores não quer dizer muita coisa... Se no TOP não apresentar mais de 60% dos dois processadores não é esta a causa.

Exemplo disso é o servidor que esta meu site, o www.eduardokraus.com que é uma maquina com 2 core e 2GB de memória apenas e já tive mais de 200 pessoas conectadas no Moodle neste servidor. Mais a kinha maquina possui dois HD em RAID 0.

Primeira vês que vi realmente o que o I/O do disco influencia foi quando ganhei um disco 7K RPM e coloquei na minha maquina e ela simplesmente ficou muito mais rápida. A um anos trás, meu MAC começou a ficar lento, lento, lento e foi só trocar o disco que voltou ao normal.

O processador pede uma informação do disco e aguarda chegar. 

E porque eu acho que é I/O? Uma empresa que vende VPS de $10 como a Linode, por exemplo, vende maquinas com 20GB de HD. Mais estes 20GB não é um HD só seu e sim um storage com vários Tera Bytes que eles dividem com vários clientes. Supondo que os storages são de 1TB, eles conseguem colocar 50 clientes em cima deste storage. 50 maquinas pedindo informações a todo segundo destes storage.

Agora, a regra mais básica de baratear custos é diminuir a infra ao mínimo. Então acho pouco provável que o storage seja RAID 0 com mais de dois discos nestes datacenter de $10 por maquina.

Muito prazer, sou Eduardo Kraus
Teacher and loves Moodle
Meu Blog: moodle.eduardokraus.com
Meu Youtube: www.youtube.com/user/ProfEduardoKraus
Meu Facebook: www.facebook.com/ProfEduardoKraus

Contagem das avaliações:  -
Em resposta à Eduardo Kraus

Re: Lentidão Moodle 2.8 - Fórum

por Joelias Junior -

Eduardo Kraus,

Pelo mesmo argumento que você disse, eu afirmo não ser processamento, pois não atinge nem 40% de uso da CPU.

Alguma ferramenta específica você usa para monitorar I/O?

Grato,

Contagem das avaliações:  -
Em resposta à Joelias Junior

Re: Lentidão Moodle 2.8 - Fórum

por Eduardo Kraus -
Imagem de Plugin developers

I/O não interfere o processamento. Pode estar em 20% mais se o I/O estiver no limite estará lento

Monitoro o I/O com o dstat e com o iotop.

Para saber quais arquivos estão abertos execute # lsof. Já com o # tcpdump você monitora a placa de rede.

Eu tenho um cliente que montou um servidor power e eu criei um sistema para converter vídeos e envia-los ao servidor para os alunos assistirem. O Servidor é exclusivo para conversão e gera todos os formatos para assistir em Multi-bitrate e Mobile.

Mais por mais que forçasse jamais chegou a 100% dos 6 processadores. Com o #iotop descobri que o gargalo era o disco e não a rede, processador, etc.  Ai descobri que o disco eram SSD e pedi para colocar um disco de 15K RPM e o negócio foi a 100% brincando.

E, como disse acima, o processador para e aguarda a resposta do disco e só volta a trabalhar quando recebe.

Muito prazer, sou Eduardo Kraus
Teacher and loves Moodle
Meu Blog: moodle.eduardokraus.com
Meu Youtube: www.youtube.com/user/ProfEduardoKraus
Meu Facebook: www.facebook.com/ProfEduardoKraus

Contagem das avaliações:  -
Em resposta à Helbert dos Santos

Re: Lentidão Moodle 2.8 - Fórum

por Joelias Junior -

Bom dia Helbert, Obrigado por me responder!


Então, acredito que o desempenho do servidor não seja um problema aqui, pois como relatei, sempre que acontece o problema a performance está normal: níveis de processamento, memória, rede e I/O inalterados.

O opcache já estava habilitado e ontem fiz umas otimizações no prefork do Apache conforme achei na documentação inglês do Moodle 2.8.  Isso trouxe uma melhoria, porém pequena, tem sido menos frequente, mas os travamentos ainda continuam.


Meu módulo Prefork agora está configurado assim:

StartServers       5
MinSpareServers    5
MaxSpareServers    10
ServerLimit    40
MaxClients        40
MaxRequestsPerChild  4000


Alguma outra sugestão?
Obrigado.

Contagem das avaliações:  -