Apache mod_php ИЛИ FastCGI? Что хорошо для WordPress?

У меня есть основное представление о запуске PHP в разных конфигурациях, таких как mod_php, cgi, FastCGI и т. Д.

В моих выводах и тестах я обнаружил, что FastCGI немного лучше. Мне нравится поддержка FastCGI для SuEXEC. Подождите, я не хочу снова заниматься бенчмаркингом. Если вы работаете в Интернете, вы обнаружите, что люди, доказывающие один из способов, быстрее, чем другие, с точки зрения количества запросов, обрабатываемых в секунду. Ну его хорошие показатели, но меня интересуют разные факторы, и вот мои вопросы …

  1. Какой метод работы PHP потребляет меньше памяти?
  2. Также этот метод потребляет память почти постоянной. Я вижу, что использование памяти my mod_php варьируется от 300 МБ до 800 МБ, каждые несколько секунд.
  3. Но с FastCGI первый ответ с сервера приходит очень поздно. Я вижу, что с FastCGI существует начальная задержка на запрос веб-страницы. Когда первый ответ с сервера приходит, другие элементы, такие как изображения, css, js, загружаются довольно быстро.
  4. Можно ли запустить сочетание обоих? У меня есть 5 сайтов на выделенном сервере. Это нормально, если я немного запускаю mod_php и отдыхаю с FastCGI?
  5. Я уверен, что мой сервер отключается в основном из-за неправильного использования памяти mod_php. Я проверил все сценарии. Есть ли способ убедиться, что потребление памяти на сервере остается почти постоянным?
  6. Значительно ли влияет сложность .htaccess на использование памяти? Если да, может ли это быть единственной причиной для того, чтобы у сервера не хватило памяти?
  7. Параметры apache MPM prefork / worker влияют на потребление памяти? Они влияют на mod_php и режим FastCGI одинаково?
  8. Когда я запускаю команду «top», я вижу apache (httpd), потребляющую память около 40 МБ. Существует много примеров работы httpd. Кроме того, в дополнение к этому FastCGI развивает некоторые процессы аналогичного размера. Что такое нормальный размер памяти для процесса httpd?
  9. Поскольку я запускаю WordPress на всех наших сайтах, что будет хорошим способом в этом контексте?
  10. Поддерживает ли FastCGI / SuExec работу с APC? Нужно ли мне перенастраивать APC для работы с SuEXEC и FastCGI.

Обратите внимание, что меня меньше интересует выживание против DIGG или трафик. Мне нужен способ, который может сделать сервер стабильным и предсказуемым.

Извините, если я запутался, но я действительно в беспорядке. У меня 512 Мбайт физической памяти, 400 Мб Swap, и у моего сервера заканчивается память, как сумасшедшая. Средняя потребность в памяти составляет около 350 МБ, это просто всплески использования памяти, что делает память недоступной в течение нескольких секунд, и если несколько лишних ударов, полученных в этих нескольких секундах, апача потерпела крах, а mysql и все остальные ребята продолжали работать нормально.

Пожалуйста, помогите мне, ребята. Я не собираюсь покупать больше оперативной памяти или оборудования. Я чертовски уверен, что проблема в моей конфигурации. Извините, если я чувствую себя высокомерным или невежественным.

Какой метод работы PHP потребляет меньше памяти?

Я предполагаю, что на каждый обработанный PHP запрос они более или менее одинаковы. Но если у вас есть mod_php, загруженный в apache, обслуживающий изображения, то я предполагаю, что ваш объем памяти будет выше из-за обслуживания статических файлов.

Также этот метод потребляет память почти постоянной. Я вижу, что использование памяти my mod_php варьируется от 300 МБ до 800 МБ, каждые несколько секунд.

Вы можете сделать оба довольно постоянными. Если вы тщательно установите MaxClients, MinSpareServers и MaxSpareServers, вы в значительной степени сможете определить, сколько процессов выполняется. Если вы также установите memory_limit в своей конфигурации PHP, вы можете рассчитать, сколько памяти вам нужно. Вы можете сделать то же самое и для fcgi, так как вы можете решить, сколько процессов выполняется.

Но с FastCGI первый ответ с сервера приходит очень поздно. Я вижу, что с FastCGI существует начальная задержка на запрос веб-страницы. Когда первый ответ с сервера приходит, другие элементы, такие как изображения, css, js, загружаются довольно быстро.

Это не имеет смысла. Я не уверен, почему это происходит в вашем случае.

Можно ли запустить сочетание обоих? У меня есть 5 сайтов на выделенном сервере. Это нормально, если я немного запускаю mod_php и отдыхаю с FastCGI?

Я думаю, но это будет кошмар для поддержания и, вероятно, будет сложнее настроить для экономии памяти . Наверное, я верю.

Я уверен, что мой сервер отключается в основном из-за неправильного использования памяти mod_php. Я проверил все сценарии. Есть ли способ убедиться, что потребление памяти на сервере остается почти постоянным?

Настройте память и процессы, как я изложил выше, и продолжайте мониторинг.

Значительно ли влияет сложность .htaccess на использование памяти? Если да, может ли это быть единственной причиной для того, чтобы у сервера не хватило памяти?

Я так не думаю. per-directory .htaccess может замедлить работу, но если в Apache не существует серьезной ошибки, это не должно вызывать массовое потребление памяти.

Параметры apache MPM prefork / worker влияют на потребление памяти? Они влияют на mod_php и режим FastCGI одинаково?

Возможно, но я рекомендую держаться подальше от рабочего, поскольку PHP в основном не является потокобезопасным.

Когда я запускаю команду «top», я вижу apache (httpd), потребляющую память около 40 МБ. Существует много примеров работы httpd. Кроме того, в дополнение к этому FastCGI развивает некоторые процессы аналогичного размера. Что такое нормальный размер памяти для процесса httpd?

30 МБ – мин. Верхний предел зависит от вашего приложения (я видел случаи, когда он составлял ~ 1 ГБ)

Поскольку я запускаю WordPress на всех наших сайтах, что будет хорошим способом в этом контексте?

Это, вероятно, вопрос вкуса. Недавно я отошел от apache к nginx + fastcgi. требуется немного времени, чтобы привыкнуть, но он работает хорошо. Никаких проблем с wordpress (даже не с суперкачами, которые скорее связаны с веб-сервером).

Поддерживает ли FastCGI / SuExec работу с APC? Нужно ли мне перенастраивать APC для работы с SuEXEC и FastCGI.

Я не использую suExec, но fastcgi хорошо работает с APC. Не нужно ничего настраивать.

Пробовал переключиться на mod_php , многие утверждают, что это скорость. Не осознавал, что mod_php сжигает дополнительную память при обслуживании статических файлов. (Меня не волновало проблема безопасности с корневыми файлами).

Без установки CDN, fastcgi – ваш выбор для работы с PHP-приложениями. Без него переход с fcgi на mod_php замедлял мое время генерации страницы вниз с 3895 до 6264 мс (страницы администратора на общем хостинге).