Worker MPM oder Prefork?

Worker MPM oder Prefork?

Ich verstehe, dass es hier ein Vergleichsthema zwischen den beiden Modulen gibt, aber das ist anders.

Ich habe den cPanel-Support kontaktiert, um mir zu helfen, etwas Speicher auf dem VPS freizugeben. Sie haben festgestellt, dass Apache 2.4-„httpd“-Unterprozesse ungefähr 80 MB RSS verwenden, während auf ihrem Testserver ein ähnlicher Apache 2.4-Build nur ungefähr 3 MB RSS pro Apache-Unterprozess verwendet.

Nachdem sie das Problem eine Weile diskutiert hatten, schlugen sie vor, anstelle von Prefork zum Worker MPM in Apache 2.4 zu wechseln.

Ich habe nachgeforscht, was sie gesagt haben, und herausgefunden, dass Worker MPM weniger Speicher verwendet, aber nicht threadsicher ist. Einige andere Themen auf Websites sagen, dass Worker nicht mit PHP-Anwendungen oder mod_php funktioniert. Ich bin nicht sicher, ob das richtig ist oder nicht.

Ich bin zu verwirrt, was soll ich tun? Auf meinen Konten laufen PHP-Skripte und ich möchte keines davon unterbrechen oder Daten beschädigen.

Was sind eure Vorschläge, Leute? Wird der Wechsel zu Worker MPM das Problem des Speichermangels lösen, ohne PHP-Anwendungen zu unterbrechen?

Gibt es eine Lösung bezüglich der Apache-Nutzung? 80 MB RSS sind im Vergleich zu 3 MB RSS zu viel.

Antwort1

Wenn Sie PHP als Apache-Modul verwenden müssen, sollten Sie Prefork verwenden, da PHP, wie Sie sagten, standardmäßig als nicht threadsicher kompiliert wird und Worker MPM Threads verwendet.

Wenn Sie PHP als FastCgi (PHP-FPM) verwenden können, können Sie Worker MPM verwenden.

Übrigens ist die Verwendung von Nginx und PHP-FPM heutzutage wahrscheinlich die beste Möglichkeit, PHP einzusetzen.

verwandte Informationen