Você está na página 1de 7

Processamento do Apache - MPM

O QUE É MPM (MULTI PROCESSING MODULES)?


DEFINIÇÃO

• MPM: Multi Processing Modules

• Prefork, Worker

• Funcionalidades básicas do servidor: bind de portas,


gerenciamento e redirecionamento de requests para threads /
processos
MPM: Prefork

• Robusto: separação em processos

• Alto consumo de recursos (memória


principalmente)

• Suporta módulos que não são thread-safe


(mod_php)

• Um request por processo

http://www.slashroot.in/
MPM: Prefork - configuração

• StartServers: Quantidade de processos filho no startup do


Apache
<IfModule prefork.c>
• MinSpareServers: Quantidade mínima processos idle StartServers 8
MinSpareServers 5
• MaxSpareServers: Limite máximo de processos idle que não MaxSpareServers 20
estão capturando nenhum request ServerLimit 256
MaxClients 256
• ServerLimit: Quantidade máxima de clientes concorrentes MaxRequestsPerChild 4000
• MaxRequestsPerChild: Número máximo de requests que um </IfModule>
processo filho pode executar antes de morrer.
MPM: Worker

• Utiliza menos recursos do S.O

• Não é thread-safe, portanto não funciona com


mod_php

• Utiliza threads para atender os requests, então um


processo pode atender mais de um cliente ao mesmo
tempo

http://www.slashroot.in/
MPM: Worker- configuração

• StartServers: Quantidade de processos filho no startup do


Apache

• MaxClients: Quantidade de clientes simultâneos a serem


atendidos <IfModule worker.c>
StartServers 4
• MinSpareThreads : Quantidade mínima threads idle MaxClients 300
MinSpareThreads 25
• MaxSpareThreads: Limite máximo de threads idle MaxSpareThreads 75
ThreadsPerChild 25
• ThreadsPerChild: Número consante de threads em cada
MaxRequestsPerChild 0
processo filho </IfModule>
• MaxRequestsPerChild: Número máximo de requests que um
processo filho pode executar antes de morrer. (Zero não tem
limite).
CONCLUSÃO

• Prefork: Mais estabilidade, menos performance.

• Worker: Menos estabilidade, mais performance

• Limitações do Worker: Não funciona em


módulos antigos ou que não são thread-safe.

Você também pode gostar