Servidor Apache Muito Lento e não usa todo potencial da VPS
28/10/2020
0
Meu servidor é ótimo, tendo 4 núcleos e 8 GB de memória RAM, quando meu sistema começa rodar, o apache começa a demorar de 6 a 12 segundos por requisição, sendo que, eu faço uma requisição por usuário a cada 2 segundos para ver se o usuário está online.
Problema que quando começa acumular clientes, servidor trava demais, ao invés de demorar 200ms demora certa de 12 segundos pra fazer a requisição deixando tudo muito lento!
O que eu já fiz.
Em
Adicionei no começo do arquivo
MaxClients 20000
Em
Adicionei no final do arquivo
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 20000
MaxConnectionsPerChild 0
</IfModule>
Como segue o print.
http://prntscr.com/v8s9pc
Está longe de alcançar o limite do servidor e não sei mais o que fazer pra resolver.
Anubis M4ster
Posts
17/07/2023
Júlia
Gostaria de te recomendar um site com ótimas opções de servidores: https://monovm.com/pt/
Fiquei sabendo dessa empresa quando morei em Sintra, pois é uma empresa da Lituânia bem famosa em Portugal.
Boa sorte :) espero que te ajude!
18/07/2023
Arthur Heinrich
Meu servidor é ótimo, tendo 4 núcleos e 8 GB de memória RAM, quando meu sistema começa rodar, o apache começa a demorar de 6 a 12 segundos por requisição, sendo que, eu faço uma requisição por usuário a cada 2 segundos para ver se o usuário está online.
Problema que quando começa acumular clientes, servidor trava demais, ao invés de demorar 200ms demora certa de 12 segundos pra fazer a requisição deixando tudo muito lento!
O que eu já fiz.
Em
Adicionei no começo do arquivo
MaxClients 20000
Em
Adicionei no final do arquivo
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 20000
MaxConnectionsPerChild 0
</IfModule>
Como segue o print.
http://prntscr.com/v8s9pc
Está longe de alcançar o limite do servidor e não sei mais o que fazer pra resolver.
O Apache nada mais é do que uma camada que faz uma espécie de dispatcher. A cada requisição, ele transfere o processamento da requisição para o programa que está mapeado e responderá a requisição. Não creio que ele (Apache) seja o problema.
Precisamos entender o que a sua requisição faz.
Muitos sites utilizam um backend que gera páginas dinâmicas, muitas vezes acessando bancos de dados. Tudo o que está relacionado conta.
O tempo aparente de uma requisição, geralmente é o resultado de pequenas tarefas intercaladas entre processamento e espera.
Sempre que requisições simultâneas ocorrem e dependem de um recurso físico, como acesso à memória, disco, rede, ou depende de processos que rodam remotamente, como bancos de dados ou outros tipos de serviços (web services), ocorrem períodos de espera que, somados, aumentam o tempo de resposta aparente.
Para minimizar este tempo, você precisa minimizar estes eventos de espera.
Já para reduzir o tempo de processamento, precisa utilizar melhores algoritmos, que acessem menos o hardware.
Outro fator determinante do desempenho é o fato de utilizar virtualização.
Você pode ter uma VM com 4 vCPUs e 8 GB de RAM. Mas, o host físico onde é executada a sua VM pode estar executando dezenas ou centenas de VMs.
Quando isto ocorre, o acesso aos componentes físicos se torna serializado. Em um host com 50 VMs, por exemplo, é possível que sua VM só tenha acesso a 2% do poder de processamento do host físico. Em outras palavras, isto pode implicar tempos de resposta 50 vezes maiores.
20/07/2023
Júlia
Experimentei o servidor de uma empresa chamada MonoVM. A minha experiência tem sido ótima. Fica a sugestão!
Segue link: https://monovm.com/
Clique aqui para fazer login e interagir na Comunidade :)