
Я понимаю, что здесь есть тема сравнения двух модулей, но это другое.
Я обращался в службу поддержки cPanel, чтобы мне помогли освободить часть памяти на VPS. Они обнаружили, что дочерние процессы Apache 2.4 'httpd' используют около 80 МБ RSS, в то время как на их тестовом сервере аналогичная сборка Apache 2.4 использует только около 3 МБ RSS на дочерний процесс Apache.
После некоторого обсуждения вопроса они предложили перейти на Worker MPM в Apache 2.4 вместо использования Prefork.
Я поискал, что они сказали, и обнаружил, что Worker MPM использует меньше памяти, но он не потокобезопасен. В некоторых других темах на сайтах говорится, что Worker не будет работать с приложениями php или mod_php. Я не уверен, правильно это или нет.
Я совсем запутался, что мне делать? У меня на аккаунтах запущены PHP-скрипты, и я не хочу прерывать их работу или портить данные.
Какие у вас предложения, ребята? Решит ли переход на Worker MPM проблему нехватки памяти без прерывания работы php-приложений?
Есть ли решение по использованию Apache? Так как 80 МБ RSS слишком много по сравнению с 3 МБ RSS.
решение1
Если вам нужно использовать PHP в качестве модуля Apache, вам следует использовать Prefork, поскольку, как вы сказали, PHP по умолчанию скомпилирован как не потокобезопасный, а Worker MPM использует потоки.
Если вы можете использовать PHP как FastCgi (PHP-FPM), вы можете использовать Worker MPM.
Кстати, вероятно, лучший способ развертывания PHP на сегодняшний день — это использование Nginx и PHP-FPM.