Estou tentando atualizar nossa configuração atual do Apache 2.4.9 de usar o prefork para o worker mpm. Eu estou fazendo alguns teste de carga simples usando jmeter para comparar o desempenho entre o 2. Meu primeiro teste é bastante simples, basta obter uma única imagem gif usando 10, 200, 300, 600, 1000, 1600 threads jmeter concorrentes / vusers, e carregando o servidor por um período de tempo para ver o rendimento médio e os tempos de resposta, bem como o impacto na CPU, memória, etc. Como esperado, o worker parece ser melhor pré-fabricado do que prefork, no entanto .25-5% dos pedidos têm erros independentemente do número de threads / viesers do jmeter. Jmeter relatórios que recebe: "O servidor de destino não respondeu". Eu não vejo erros no http_error.log. A página de status do sistema e do apache informa bastante a cpu e a memória disponíveis. Não recebo erros usando o prefork executando os mesmos testes. Minha configuração de trabalho é a seguinte:
ServerLimit 32
StartServers 8
MaxRequestWorkers 1600
MinSpareThreads 100
MaxSpareThreads 150
ThreadsPerChild 50
MaxConnectionsPerChild 1000
ThreadLimit 100
Eu tentei várias combinações aumentando e reduzindo ServerLimit, ThreadsPerChild etc, mas ainda recebo uma pequena porcentagem de erros usando o worker mpm. Existe uma diretiva de módulo adicional que eu preciso ajustar? Este é um dos tradeoffs para usar o trabalhador? Existe registro adicional que eu possa ativar?