Evento Apache MPM no Apache 2.4+

2

Durante anos, tenho usado o módulo mpm-prefork , pois entendi que este era o trabalhador preferido para o Apache 2 e 1.3.

Agora instalarei alguns novos servidores Apache e usarei a nova versão 2.4, com a qual o evento baseado em mpm que usa epoll / kqueue.

Eu sei que, nos últimos anos, sistemas baseados em eventos se tornaram a raiva (por exemplo, nginx, lighttpd, node.js), então como o evento mpm agora é estável no Apache, é o multiprocessamento preferido módulo para usar?

Também tomei nota do comentário da página de documentação do evento mpm:

The improved connection handling does not yet work for certain connection filters, in particular SSL. For SSL connections, this MPM will fall back to the behaviour of the worker MPM and reserve one worker thread per connection.

Nosso site principal força uma conexão SSL, portanto, é claro que não nos beneficiaremos do aprimorado gerenciamento de conexão relacionado à manutenção, mas entendo que ainda haverá alguma melhoria de desempenho, já que haverá menos encadeamentos tomando lugar?

    
por drew010 13.03.2012 / 23:33

1 resposta

7

O prefork MPM não tem sido o MPM "preferido" por muitos anos.

A razão pela qual ainda é o padrão para muitas distribuições é que algumas bibliotecas de terceiros têm problemas com o encadeamento no MPM de trabalho (que tem sido o MPM preferido desde a versão 2.2).

Não são módulos como o mod_php, que é bastante thread-safe, mas bibliotecas usadas por módulos como o mod_php, como o mysqli etc.

Em 2.4, agora mudamos para o evento STABLE MPM.

A versão ainda é muito recente e a documentação não foi completamente atualizada para refletir isso.

Como tem sido o caso há anos, se o prefork MPM estiver causando dor, mude para a segmentação por thread e execute seu conteúdo dinâmico via fastCGI.

    
por 13.03.2012 / 23:40