Configuração do Apache Prefork MPM

Configuração do Apache Prefork MPM

Prefork é o módulo de multipocessamento padrão do Apache. Quando você começa a trabalhar como administrador do sistema, geralmente lida com servidores de baixo tráfego. Você não precisa saber sobre como o Apache lida com vários processos ao mesmo tempo. Até eu não sabia tudo sobre isso. Mas depois de alguns dias quando você começa a trabalhar com servidores de alta carga e precisa otimizar o Apache. É importante saber sobre os módulos de multipocessamento no Apache e como funciona

Configuração padrão do Apache Prefork

Abaixo está a configuração padrão do módulo de multipocessamento pré-formion.

Para Apache 2.4

StartServers 3 minspareservers 5 maxspareservers 10 maxRequestworkers 400 maxconnectionsperchild 0 

Para Apache 2.2

StartServers 5 minspareservers 5 maxspareservers 10 maxcliients 150 maxRequestsperChild 0 

Diretivas de configuração de pré -esquecer:

1. StartServers: Esta diretiva definiu o número de processos de servidor filho a serem criados na inicialização do Apache. O número de processos é aumentado dinamicamente com base na carga do servidor, para que você não precise alterar esse valor normalmente.

2. Minspareservers: Este é o número mínimo de processos infantis ociosos são executados pelo Apache, que sempre esperam pela conexão recebida. Se os processos ociosos mínimos forem menores que o valor de MinspareServers, o Apache iniciará um processo filho para manter os servidores de reposição mínimo.

3. MaxSpareservers: Este é o número máximo de processos que podem estar no estado ocioso. Se algum tempo de tempo ocioso for mais do que o valor do maxSpareServers, o processo pai mata os processos infantis ociosos extras.

4. MaxClients e MaxRequestWorkers: Esta é a diretiva pré -esquecida mais importante. Este número máximo definido de solicitações pode ser tratado pelos servidores Apache. Se o número máximo de conexões ou solicitações exceder o valor, todas as solicitações extras precisarão esperar na fila.

Mantenha esse valor tão alto quanto seu hardware permite. Veja os detalhes abaixo, para como definir este valor.

a. Encontre o número total de RAM em seu sistema.
b. Descubra quanto RAM está disponível para o Apache Server.
c. A memória média usada por um único processo apache.

Valor <= ( Total Memory available for Apache) / ( Memory used by one process )5. MaxRequestsperChild ou MaxConnectionsPerChild: Este é o número máximo de solicitações pode ser processado por um processo infantil em sua vida. Por exemplo, se você definir esse valor para 100. Qualquer novo processo infantil atenderá até 100 solicitações e depois morto pelo processo pai. Naquele lugar, o Apache inicia um novo processo infantil.

Recomendamos manter esse valor maior (pelo menos maior que 0). Definir este parâmetro 0 significa que o processo nunca expirará, que pode criar problemas de vazamento de memória e consumir alta memória.

Quando mudar os StartServers, Minspareservers e Minspareservers Directives valores:

Você nunca precisa alterar essas diretivas em servidores de baixo tráfego. Se você estiver lidando com um servidor com milhares de solicitações por minuto, só você precisa alterar esses valores. Mas primeiro você deve saber sobre a frequência da geração de novos processos no Apache

    • Apache 2.2 pode gerar um processo por segundo.
    • Apache 2.4 pode gerar até 32 processos em segundo. Quando os processos de reposição ociosos mínimos são menores que o valor de MinspareServers, o Apache inicia 1 processo e aguarde um segundo, se ainda for menor, o Apache inicie 2 processos e aguarde um segundo, se ainda for menos apacho, iniciar 4 processos e aguardar um segundo, similarmente O Apache pode inicializar para 32 processos infantis sobressalentes por segundo e repetiu até o mínimo processo de reposição exceder o valor de minSpareservers.
    • Por exemplo, se o seu servidor estiver em execução com o Apache 2.2, então o Apache só pode iniciar um processo de reposição por segundo. Isso significa que se o seu servidor estiver recebendo mais de 1 conexão por segundo, você precisará ajustar todos esses parâmetros para sempre continuar executando alguns processos ociosos. Mas também depende de quanto tempo um processo leva para concluir.

      Da mesma forma, se o servidor estiver em execução com o Apache 2.4, você pode precisar alterar esses parâmetros muito raramente, porque o Apache 2.4 pode ser inicializado para 32 processos de chiles por segundo.