Otimização do Apache - prefork MPM

2

Eu li muitas mensagens sobre a configuração do Apache e tentei encontrar os melhores valores para os nossos servidores. Para garantir o melhor, usei JMeter para simular 2100 conexões por segundo. Depois de muitas rodadas de ajuste fino eu cheguei na seguinte configuração:

<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   10
ServerLimit     2048
MaxClients       2048
MaxRequestsPerChild  20000
</IfModule>

Detalhes do servidor:

[root@web06 ~]# free
                 total       used       free     shared    buffers     cached
    Mem:       3814660    1070152    2744508          0     146788     766944
    -/+ buffers/cache:     156420    3658240
    Swap:      5210104          0    5210104
[root@web06 ~]# grep -c processor /proc/cpuinfo
4
[root@web06 ~]# uname --a
Linux web06 2.6.18-164.el5PAE #1 SMP Thu Sep 3 04:10:44 EDT 2009 i686 i686 i386 GNU/Linux

Memória usada por um único processo do Apache:

[root@web06 ~]#  cat /proc/5903/status  | grep VmRSS 
VmRSS:     10076 kB

Eu sei que minha configuração é um pouco alta, mas a configuração me deu o melhor resultado no teste de estresse. Eu apreciaria sua opinião, devo mudar alguma coisa?

Por favor, note- eu sei que há melhor alternativa para o Apache, mas eu não tenho recursos para fazer esse tipo de mudança no momento.

Obrigado!

    
por Kuf 08.08.2012 / 14:22

1 resposta

2

Bem, o seu servidor é capaz de executar 2048 processos Apache simultâneos (como você define no ServerLimit / MaxClients)? Eu aposto que não é e, na verdade, você não precisa de tantos funcionários Apache simultâneos. É altamente recomendável configurar um proxy reverso assíncrono, como nginx ou lighttpd , para descarregar clientes de manipulação com conexões lentas para esse proxy assíncrono. E acredite que a maioria dos clientes da web pública são lentos o suficiente para aproveitar a maior parte do tempo de trabalho do Apache apenas para lidar com o upload de conteúdo já gerado para eles. E eu não acho que você vai precisar de mais de 25 funcionários Apache simultâneos se você configurar o proxy reverso corretamente.

    
por 08.08.2012 / 14:31