Servidor Apache Muito Lento e não usa todo potencial da VPS

28/10/2020

0

Olá, recentemente estou enfrentando um problema e já procurei diversas vezes solução na internet e não encontro.

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
nano /etc/apache2/apache2.conf


Adicionei no começo do arquivo
ServerLimit 20000
MaxClients 20000


Em
nano /etc/apache2/mods-available/mpm_prefork.conf


Adicionei no final do arquivo
<IfModule mpm_prefork_module>
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

Anubis M4ster

Responder

Posts

17/07/2023

Júlia

Boa noite!

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!

Responder

18/07/2023

Arthur Heinrich

Olá, recentemente estou enfrentando um problema e já procurei diversas vezes solução na internet e não encontro.

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
nano /etc/apache2/apache2.conf


Adicionei no começo do arquivo
ServerLimit 20000
MaxClients 20000


Em
nano /etc/apache2/mods-available/mpm_prefork.conf


Adicionei no final do arquivo
<IfModule mpm_prefork_module>
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.
Responder

20/07/2023

Júlia

Olá, tudo bem?
Experimentei o servidor de uma empresa chamada MonoVM. A minha experiência tem sido ótima. Fica a sugestão!
Segue link: https://monovm.com/
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar