[Eisfair] Neues Paket php7-fpm

Sebastian Scholze sebastian at eisfair.org
Mo Jan 7 01:11:09 CET 2019


Hallo Zusammen,

es gibt ein neues Paket um PHP mit dem apache2 zusammen zu nutzen - 
php7-fpm.

Warum das Ganze:
Mittlerweile hat auch unser apache2 Paket die Möglichkeit HTTP2 zu 
verwenden. Hier gibt es allerdings einige Dinge zu beachten:
-HTTP2 kann nicht zusammen mit dem MPM prefork genutzt werden (bisher 
Standard bei eisfair).
-Das Paket apache2_phpX kann nicht mit den MPMs event und worker 
verwendet werden.

Da dies nun bei der Verwendung von PHP einen Deadlock gibt, habe ich das 
Paket php7-fpm erstellt.

Was ist HTTP2?
-Nachfolge Protokoll von HTTP und soll einige Probleme, unter anderem 
Performance, von HTTP beheben.

Was sind MPMs?
Es gibt für eisfair 3 verschiedene Multi-Processing-Module (MPM):
-prefork: Dieses Multi-Processing-Modul (MPM) implementiert einen im 
Voraus forkenden Webserver ohne Thread-Unterstützung.
-event: The event MPM is designed to allow more requests to be served 
simultaneously by passing off some processing work to the listeners 
threads, freeing up the worker threads to serve new requests.
-worker: Dieses Multi-Processing-Modul (MPM) implementiert einen 
Hybrid-Server mit Multi-Thread und Multi-Prozess-Unterstützung.

Was ist PHP-FPM?
FPM (FastCGI Process Manager) ist eine Alternative zu PHP FastCGI mit 
einigen zusätzlichen Features.
php-fpm läuft als Dienst und wird für die Verarbeitung von php Dateien 
verwendet.

====

Wie funktioniert das nun bei eisfair-1?
1) Das Paket apache2_php5/7 muss deaktiviert werden.
2) Im apache2 muss als MPM entweder event oder worker ausgewählt werden.
3) Das Paket php7-fpm muss installiert und aktiviert werden 
(Konfiguration erfolgt analog zum apache2_php7 Paket).

Gerade bei nextcloud und wordpress habe ich das subjektive Gefühl, dass 
es nochmal eine Performance-Steigerung durch die Verwendung von MPM 
event, HTTP2 und PHP-FPM ergibt.

Gruß,
  Sebastian


Mehr Informationen über die Mailingliste Eisfair