Perda de processo do Apache prefork

0

Monitoramos o número de processos apache via cactos. Notei que os processos chegavam a 70 e depois caíam para 20 anos. O que pode fazer com que o apache faça isso? Aqui estão nossas configurações de pré-fork

StartServers       50
MinSpareServers    10
MaxSpareServers    100
ServerLimit       250
MaxClients        250
MaxRequestsPerChild  3000
Mike
fonte

Respostas:

5

Você tem o conjunto StartServers> MinSpareServers e MaxRequestsPerChild.

Isso significa que, depois que um servidor atender 3000 solicitações, ele morrerá. O controlador examinará o restante dos servidores e adicionará o número que está ocioso. Se isso for pelo menos 10, ele não reiniciará um.

Portanto, parece que seu site está atendendo cerca de 10 solicitações ao mesmo tempo, e esse é um comportamento normal.

Pode ser que seu site tenha ocorrências do tipo particularmente "explosivas", em que muitas solicitações são recebidas ao mesmo tempo. Se for esse o caso, convém aumentar os MinSpareServers.

gorila
fonte
2

De suas configurações ..

O Apache sempre inicia com 50 ( StartServers) processos. A partir disso, ele manterá entre 10 ( MinSpareServers) e 100 ( MaxSpareServers) processos inativos em execução, que são aqueles que não atendem a nenhuma solicitação no momento, além de qualquer processo que esteja atendendo a solicitações. O número total de processos inativos e ativos nunca excederá 250 ( MaxServers). Cada processo será eliminado após MaxRequestsPerChildatender a 3000 ( ) solicitações.

Uma contagem de 20 processos significa que pelo menos 10 ou mais deles estão ociosos, aguardando o atendimento de solicitações. O restante pode estar ocioso ou ativo. O Apache escalará o número de processos para cima e para baixo dentro dos parâmetros que você especificou de acordo com a carga.

Você pode dar uma olhada em mod_statusinformações mais detalhadas sobre o que cada um desses processos está fazendo. Apenas certifique-se de garantir o suficiente.

Dan Carley
fonte