O que está causando o limite de 300 conexões por segundo no Apache 2.2?

5

Temos um servidor Apache em execução no CentOS 5.6 (instalado via yum). Hoje tivemos um fluxo esperado de novos usuários - por mais inesperadamente que pareçamos ter atingido um limite de 300 acessos por segundo - eu tenho um gráfico (que estouro de pilha não me deixa carregar), mas mostra que três vezes hoje (quando nosso site quase parou) os "acessos / segundo" atingiram 300 e ficaram por um tempo. Enquanto digito, o valor atual é 292,23 e o máximo hoje é 300,41.

Estamos executando o PHP dentro do processo do apache, e isso está se conectando a um servidor MySQL (caixa física diferente). No entanto, estamos felizes que o MySQL está respondendo bem.

Aumentamos nossos limites no httpd.conf a partir do padrão 256, mas isso não afetou a figura mágica 300. Pesquisamos o arquivo php.ini e httpd.conf por 300 e não conseguimos encontrá-lo. Abaixo está a configuração do prefork que estamos usando agora:

<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      400
MaxClients       400
MaxRequestsPerChild  4000
</IfModule>

Se alguém tem alguma pista sobre o que está causando este limite de 300, eu agradeceria muito.

    
por Dom 18.07.2011 / 16:29

2 respostas

2

Existem todos os tipos de possibilidades relacionadas ao desempenho do sistema, mas o fato de que o limite é um número tão bom e redondo é bastante suspeito - você não esperaria um limite tão bom se o gargalo fosse, digamos, CPU ou E / S de disco (ou até mesmo rede). O que é ainda mais suspeito é que é por segundo - se fosse um limite para o Apache ou o MySQL, você esperaria um limite em conexões ou solicitações simultâneas, mas um limite de 300 por segundo soa como algo mais.

O que está sentado a sua frente, em rede? Se houver firewalls, balanceadores de carga, sistemas de mitigação de DDoS ou outros dispositivos L3 + lá em cima, eu os cutucarei para ver se há algo que possa estar causando isso.

Você sabe o que alguém acima do seu limite de 300 / segundo vê? (Você pode ter que martelar o site um pouco para ver o que acontece) Há mensagens de log em qualquer lugar que possam dar uma pista?

    
por 18.07.2011 / 16:44
1

Depois de fazer as alterações de configuração, você fez uma reinicialização ou desligamento / reinicialização? Alterações no ServerLimit não terão efeito se você fizer uma reinicialização normal. Um desligamento e um início completos são necessários.

    
por 18.07.2011 / 16:43