Sei que muitas perguntas foram feitas sobre esse assunto, mas não encontrei uma resposta que me ajudasse.
Estou tentando fazer com que o Apache httpd responda a 200 conexões simultâneas. Estou testando com jMeter, buscando um pequeno arquivo de texto estático (cerca de 100 bytes), usando prefork; MaxClient e ServerLimit em 500, nem a memória nem a CPU são limitantes (ambas estão abaixo de 50%), a largura de banda é de 1 Gbps.
- se eu iniciar apenas uma conexão, o tempo de resposta será de cerca de 7ms
- se eu iniciar algumas conexões simultâneas (digamos 2 ou 3), o tempo de resposta vai para 70ms
- se eu começar um pouco mais (digamos 20), o tempo de resposta é superior a 2smesmo para a primeira conexão
Usar keep-alive não muda muito. Reiniciar o httpd também não ajuda.
Estou fazendo algo errado? como posso consertar isso?
desde já, obrigado
Greg
Responder1
Para resolver o problema tive que aumentar permanentemente o número de processos em execução. Em vez de:
StartServers 5
MinSpareServers 5
MaxSpareServers 10
Eu mudei para:
StartServers 300
MinSpareServers 300
MaxSpareServers 300
Agora os tempos de resposta são aceitáveis. Parece que criar/matar processos é muito pesado, mesmo para computadores rápidos...