Какой метод запуска PHP потребляет меньше памяти?
Я предполагаю, что для каждого обработанного PHP запроса они более или менее совпадают. Но если у вас также есть mod_php, загруженный в apache, обслуживающий изображения, то я предполагаю, что ваш объем памяти будет выше из-за обслуживания статических файлов.
Также, какой метод потребляет память почти постоянно. Я вижу, что mod_php использует память моего сервера в интервале от 300 до 800 МБ каждые несколько секунд.
Вы можете сделать оба довольно постоянными. Если вы тщательно установите MaxClients, MinSpareServers и MaxSpareServers, вы в значительной степени сможете определить, сколько запущено процессов. Если вы также установили memory_limit в своей конфигурации PHP, вы можете рассчитать, сколько памяти вам нужно.
Вы можете сделать то же самое для fcgi, так как вы можете решить, сколько процессов запущено.
Но с FastCGI первый ответ от сервера приходит очень поздно. Я вижу, что с FastCGI существует начальная задержка на запрос веб-страницы. После получения первого ответа от сервера другие элементы, такие как images, css, js загружаются довольно быстро.
Это не имеет смысла. Я не уверен, почему это происходит в вашем случае.
Это нормально, чтобы запустить смесь обоих? У меня 5 сайтов на выделенном сервере. Это нормально, если я запускаю несколько с mod_php и отдыхаю с FastCGI?
Полагаю, что обслуживать это будет и кошмар, и, вероятно, будет сложнее настроить для экономии памяти Наоборот, я верю.
Я уверен, что мой сервер выходит из строя в основном из-за неправильного использования памяти mod_php. Я проверил все скрипты. Есть ли способ убедиться, что потребление памяти на сервере остается почти постоянным?
Сконфигурируйте память и процессы, как я описал выше, и продолжайте мониторинг.
Влияет ли сложность .htaccess на использование памяти? Если да, может ли это быть единственной причиной нехватки памяти на сервере?
Я так не думаю. .htaccess для каждого каталога может замедлить работу, но если в Apache не возникнет серьезная ошибка, это не должно вызвать массовое потребление памяти.
Влияет ли настройка prefork / worker apache MPM на потребление памяти? Они одинаково влияют на режимы mod_php и FastCGI?
Возможно, но я рекомендую держаться подальше от работника, так как PHP в большинстве случаев не безопасен для потоков.
Когда я запускаю команду "top", я вижу, что apache (httpd) использует память около 40 МБ. Есть много примеров запуска httpd. Кроме того, FastCGI разветвляет некоторые процессы аналогичного размера. Какой нормальный объем памяти для процесса httpd?
30 МБ - мин. Верхний предел зависит от вашего приложения (я видел случаи, когда оно было ~ 1 ГБ)
Поскольку я использую Wordpress на всех наших сайтах, что будет хорошим способом в этом контексте?
Это, наверное, дело вкуса. Я недавно перешел от apache к nginx + fastcgi. Требуется немного времени, чтобы привыкнуть, но это работает хорошо. Никаких проблем с WordPress (даже не с Supercache, который, скорее, связан с веб-сервером).
FastCGI / SuExec работает нормально с APC? Нужно ли переконфигурировать APC для работы с SuEXEC и FastCGI.
Я не использую suExec, но fastcgi хорошо работает с APC. Не нужно ничего настраивать.