Seit einigen Monaten bieten wir für Endkunden mit Pro-Paketen und Reseller mit eigenem Dedicated Server PHP-FPM als zusätzlichen PHP-Handler an.
PHP-FPM ist sogenannter FastCGI-Prozessmanager, der direkt in PHP integriert ist. Mittels PHP-FPM wird für einen Webserver-Benutzer ein Vorrat an stetig laufenden PHP-Prozessen vorgehalten, so dass PHP-Scripte schneller gestartet werden können. Der größte Vorteil von PHP-FPM ist jedoch die mögliche Nutzung eines sogenannten Opcode-Caches: PHP-Scripte liegen immer im Quelltext vor, und müssen daher vor der Ausführung in Maschinencode (Opcode) übersetzt werden. Dieser Vorgang wird beim Aufruf von PHP-Scripten über unsere Webserver automatisch ausgeführt. Der Opcode wird dabei jedoch nach der Ausführung eines Scripts sofort wieder verworfen, so dass es beim nächsten Aufruf erneut in Maschinencode übersetzt werden muss. Der Opcode kann jedoch auch in einem Cache zwischengespeichert (und optimiert) werden, so dass der zeitaufwändige Übersetzungsvorgang bei späteren Script-Aufrufen wegfällt.
Seit PHP 5.5 ist hierzu OPcache fester Bestandteil von PHP geworden. Grundsätzlich lässt sich OPCache mit allen FastCGI-Prozessmanagern nutzen, PHP-FPM bietet jedoch einige Vorteile zu anderen Prozessmanagern wie dem bei vielen Webhostern eingesetzten Apache FCGID: Normalerweise wird der Arbeitsspeicher für den Opcode-Cache vom PHP-Speicherlimit abgezogen, und der Cache wird nicht zwischen unterschiedlichen PHP-Prozessen geteilt. So kann es vorkommen, dass ein PHP-Script von einem Prozess ausgeführt wird, der dieses Script noch nicht im Cache hält, während das gleiche Script bei einem anderen Prozess schon im Cache ist und somit viel schneller ausgeführt werden kann. Bei PHP-FPM wird ein zwischen allen PHP-Prozessen geteilter Opcode-Cache genutzt, und der hierfür benötigte Arbeitsspeicher wird nicht vom PHP-Speicherlimit abgezogen.
In der Praxis lassen sich durch OPcache drastische Performance-Gewinne von 100% und mehr verzeichnen, insbesondere bei komplexeren Webshops oder Content-Management-Systemen. Falls Sie bereits bereits ein Pro-Paket oder einen Dedicated-Server haben und PHP-FPM nutzen möchten wenden Sie sich bitte an unsere Kundenbetreuung. Wir können ebenso zu Testzwecken PHP-FPM für Benutzer auf Shared-Hosting-Servern aktivieren, so dass Sie vor einem Tarif-Upgrade prüfen können, ob es sich für Sie lohnt.
Da bei PHP-FPM ständig laufende PHP-Prozesse vorgehalten werden, die alle Arbeitsspeicher verbrauchen, kann es auf unseren Shared-Hosting-Servern leider nicht für alle Benutzer aktiviert werden. Ebenso lässt sich OPcache dort nicht sinnvoll nutzen, da es ohne FastCGI-Prozessmanager keine Leistungssteigerung bringt.


