Modulul mpm_event – Arhitectura multi-proces asincronă de înaltă performanță în Apache HTTP Server

Configurează modelul MPM modern ghidat de evenimente (event-driven), similar cu Nginx, pentru gestionarea a mii de conexiuni concurente.

Sintaxă
<IfModule mpm_event_module>
    StartServers             3
    MinSpareThreads         75
    MaxSpareThreads        250
    ThreadsPerChild         25
    MaxRequestWorkers      400
    MaxConnectionsPerChild   0
</IfModule>

Ce face Modulul mpm_event - Arhitectura multi-proces asincronă de înaltă performanță

Modulul mpm_event este alegerea implicită și recomandată în Apache 2.4 pentru performanță extremă.

Spre deosebire de vechiul `mpm_prefork` (unde un proces întreg era dedicat unei singure conexiuni), `mpm_event` deleagă conexiunile KeepAlive inactive unui fir ascultător dedicat, eliberând firele de execuție lucrătoare pentru a procesa cereri active reale.

Funcționează excelent în tandem cu PHP-FPM prin socket-uri Unix.

Exemple

Exemplul 1: Optimizarea mpm_event pentru un server cu 4 nuclee CPU și 8 GB RAM

Permite deservirea a până la 400 de cereri simultane.

<IfModule mpm_event_module>
    StartServers             4
    MinSpareThreads         50
    MaxSpareThreads        150
    ThreadsPerChild         25
    MaxRequestWorkers      400
    MaxConnectionsPerChild 5000
</IfModule>

Ieșire în terminal

Configurație salvată în /etc/apache2/mods-available/mpm_event.conf

Greșeli frecvente

  • Încercarea de a rula mpm_event împreună cu vechiul modul ‘libapache2-mod-php’ (care nu este thread-safe); cu mpm_event este OBLIGATORIU să folosiți PHP-FPM.

Comenzi înrudite