Dica de Otimização HTTPD.CONF [RESOLVIDO]

1. Dica de Otimização HTTPD.CONF [RESOLVIDO]

Caio Anderson
oomaikoo

(usa Ubuntu)

Enviado em 04/10/2016 - 22:46h

Boa noite galera, estou administrando um servidor apache que tem em média 300 a 400 acessos simultâneos, é um site de notícias em WORDPRESS então as vezes uma noticia viraliza e o servidor bate 800 900 usuários simultâneos e ele cai, reinicia, enfim, estou utilizando 2 módulos ativos PREFORK e WORKER com os seguintes configurações
<IfModule prefork.c>
ServerLimit 16
StartServers 768
MinSpareServers 512
MaxSpareServers 768
MaxClients 16
MaxKeepAliveRequests 128
MaxRequestsPerChild 128
</IfModule>


<IfModule worker.c>
ServerLimit 16
StartServers 768
MinSpareServers 512
MaxSpareServers 768
MaxClients 16
MaxKeepAliveRequests 128
MaxRequestsPerChild 128
</IfModule>


Minha pergunta é, posso melhorar a performance deles? esta configuração está boa ou me indicam alguma mudança?


  


2. MELHOR RESPOSTA

Perfil removido
removido

(usa Nenhuma)

Enviado em 05/10/2016 - 00:11h

oomaikoo escreveu:

Boa noite galera, estou administrando um servidor apache que tem em média 300 a 400 acessos simultâneos, é um site de notícias em WORDPRESS então as vezes uma noticia viraliza e o servidor bate 800 900 usuários simultâneos e ele cai, reinicia, enfim, estou utilizando 2 módulos ativos PREFORK e WORKER com os seguintes configurações
<IfModule prefork.c>
ServerLimit 16
StartServers 768
MinSpareServers 512
MaxSpareServers 768
MaxClients 16
MaxKeepAliveRequests 128
MaxRequestsPerChild 128
</IfModule>


<IfModule worker.c>
ServerLimit 16
StartServers 512
MinSpareServers 768
MaxSpareServers 50
MaxClients 16
MaxKeepAliveRequests 128
MaxRequestsPerChild 128
</IfModule>


Minha pergunta é, posso melhorar a performance deles? esta configuração está boa ou me indicam alguma mudança?


Respondendo:

1º - Você não consegue trabalhar com dois módulos MPMs ao mesmo tempo no mesmo servidor, ou usa um ou outro.

2º - Já que usa wordpress, se não existe mais nenhum site no mesmo servidor. recomendo usar o MPM worker ou event se sua versão do apache é 2.3 ou superior.

3º - Além de usar o MPM worker ou event use também o php-fpm, diminui bastante a carga sobre os MPMs do apache.

4º - Se você recebe em média 300/400 acessos simultâneos ou 800/900 as diretivas ServerLimit e MaxClients precisam ser ajustadas para tal volume de acessos


Por exemplo:

Se usa o MPM prefork, sem usar o php-fpm e tem 300/400 acessos simultâneos, pode muito bem alterar as diretivas para :

<IfModule prefork.c>
ServerLimit 450
StartServers 400
MinSpareServers 25
MaxSpareServers 50
MaxClients 450
MaxKeepAliveRequests 150
MaxRequestsPerChild 300
</IfModule>


Caso seja a quantidade de acessos simultâneos seja 800/900, levando em consideração o que falei anteriormente, então ajuste para:

<IfModule prefork.c>
ServerLimit 950
StartServers 768
MinSpareServers 25
MaxSpareServers 50
MaxClients 950
MaxKeepAliveRequests 150
MaxRequestsPerChild 300
</IfModule>


Mas o servidor tem que aguentar essa quantidade de processos abertos sendo executados. Se possível não use o módulo php do apache e use php-fpm.

3. Re: Dica de Otimização Otimização HTTPD.CONF

Caio Anderson
oomaikoo

(usa Ubuntu)

Enviado em 05/10/2016 - 09:35h

Engraçado que aqui no meu servidor já vem ativado os 2 módulos por padrão, vou procurar esse php-fpm e testar essas configurações passadas.


Mas uma dúvida, você passou as configurações do prefork mas me recomendou usar o Worker e php-fpm, seriam as mesmas configurações do prefork?

Meu servidor é o Jelastic da Locaweb, Pré-pago com escalabilidade horizontal, ele aumenta de acordo com a necessidade e diminui também, meu site está me custando 20 reais o dia, com 150 200 usuários ativos, eu particularmente acho muito, tenho 3 apaches no servidor, dividindo 3 pelo numero de usuários cada apache com 50 60 usuários a CPU chega a 2.0 3.0 Ghz de uso, to achando bastante alto pra pouco usuário


4. Re: Dica de Otimização HTTPD.CONF [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 05/10/2016 - 13:37h

oomaikoo escreveu:

Engraçado que aqui no meu servidor já vem ativado os 2 módulos por padrão, vou procurar esse php-fpm e testar essas configurações passadas.


Mas uma dúvida, você passou as configurações do prefork mas me recomendou usar o Worker e php-fpm, seriam as mesmas configurações do prefork?

Meu servidor é o Jelastic da Locaweb, Pré-pago com escalabilidade horizontal, ele aumenta de acordo com a necessidade e diminui também, meu site está me custando 20 reais o dia, com 150 200 usuários ativos, eu particularmente acho muito, tenho 3 apaches no servidor, dividindo 3 pelo numero de usuários cada apache com 50 60 usuários a CPU chega a 2.0 3.0 Ghz de uso, to achando bastante alto pra pouco usuário


Explicando.... o fato de a configuração está definida com duas diretivas IfModule não quer dizer que os dois módulos estão carregados na memoria e estão sendo usados. essa diretiva define se o módulo xxxx estiver carregado define mais diretivas dentro da configuração da diretiva IfModule, deu pra entender ?

Seria diferente a configuração do MPM worker ou event. Pois é o seguinte quando se usa o php-fpm, o php-fpm é vários processos independente do apache, então a carga de ler e executar os scripts em php fica por conta do php-fpm. para sugerir um configuração do apache precisaria ter informações de processador e memoria do servidor.

Esse uso de processamento é somente em um servidor.


5. Re: Dica de Otimização HTTPD.CONF [RESOLVIDO]

Caio Anderson
oomaikoo

(usa Ubuntu)

Enviado em 05/10/2016 - 13:49h

Entendi, o meu servidor é o Jelastic como já te falei, é um cloud com escalabilidade Horizontal podendo chegar até 8GB 12,80Ghz cada servidor Apache, MySQL, enfim.

nesse momento estou com 102 usuários online em meu site os 3 servidores apache estão utilizando 3.0ghz e 1gb de ram.

isso é muito? onde olho se está ativo ou não os modulos MPM Worker e Prefork?


6. Re: Dica de Otimização Otimização HTTPD.CONF

Perfil removido
removido

(usa Nenhuma)

Enviado em 05/10/2016 - 14:04h

Só os processos do apache chega a usar 3.0ghz ?

execute o comando:

apachectl -M|grep -i mpm 


a saída mostra qual módulo está carregado em memoria e em uso.


7. Re: Dica de Otimização Otimização HTTPD.CONF

Caio Anderson
oomaikoo

(usa Ubuntu)

Enviado em 05/10/2016 - 14:08h

Sim !

Neste momento está assim:

93 USUÁRIOS ONLINE
Apache 1
3.3Ghz
297MB de RAM

Apache 2
2.2.Ghz
750 MB de RAM

Apache 3
2.8Ghz
392MB de RAM


as vezes da pico de 4.0 e 5.0 Ghz nos apaches não sei porque, eu acho que ta muito absurdo o uso de CPU para tão poucos usuários, dei o comando TOP no SSH de 1 apache e eu vi que sempre aparece 3 ou 4 processos HTTPD e consomem 47% 48% da CPU, depois somem, depois aparecem de novo, sempre assim



8. Re: Dica de Otimização Otimização HTTPD.CONF

Perfil removido
removido

(usa Nenhuma)

Enviado em 05/10/2016 - 14:46h

Para usar o MPM worker ou event junto com php, você precisa usar php-fpm. depois que instalar o php-fpm, configurar a quantidade de processos que php-fpm vai usar(tem que ser maior que apache, pois a carga de trabalho vai mais para esses processos do php), você pode ajustar para o seguinte:


<IfModule worker.c>
ServerLimit 80
StartServers 40
MinSpareThreads 50
MaxSpareThreads 100
ThreadLimit 75
ThreadsperChild 25
MaxClients 2000
MaxRequestsPerChild 100
</IfModule>


Essa configuração estou levando em consideração que vai ser dedicado 2GB em memoria para o apache, e cada processo com MPM worker vai usar no máximo 5MB.

Perguntas: memoria swap está sendo usada ? cada processo do apache nesse momento ocupa quanto espaço em memoria ?


9. Re: Dica de Otimização Otimização HTTPD.CONF

Caio Anderson
oomaikoo

(usa Ubuntu)

Enviado em 05/10/2016 - 15:10h

Certo eu vou entrar via SSH e olhar qual módulo está sendo utilizado, também tenho que pesquisar como instalar o PHP-FPM que eu não faço ideia como é kkkk.

memoria swap está sendo usada ? Não sei te responder, não entendo muito de configurações de servidores tem como eu verificar isso?

cada processo do apache nesse momento ocupa quanto espaço em memoria ?
%CPU %MEM TIME COMAND
43.3 0.6 2:00.71 httpd
41.3 0.8 1:51.27 httpd
0.3 0.7 1:58.30 httpd

Apenas 1 apache

apachectl -M|grep -i mpm
De acordo com esse comando está sendo utilizado o mpm_prefork_module (shared)


10. Re: Dica de Otimização HTTPD.CONF [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 05/10/2016 - 15:14h

Já pensou em implementar um cache como o Varnish?


11. Re: Dica de Otimização HTTPD.CONF [RESOLVIDO]

Caio Anderson
oomaikoo

(usa Ubuntu)

Enviado em 05/10/2016 - 15:15h

Eu ativei o memcached não sei se ajuda


12. Re: Dica de Otimização HTTPD.CONF [RESOLVIDO]


01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts