mod_php Apache ИЛИ FastCGI? Который хорош для Wordpress?

Я имею общее представление о выполнении PHP в различных конфигурациях как mod_php, cgi, FastCGI, и т.д.

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

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

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

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

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

18
задан meagar 21 October 2011 в 15:28
поделиться

1 ответ

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

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

Также какой метод потребляет память почти на постоянной основе. Я вижу, что при использовании 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 преформы/рабочие настройки? В равной ли степени они влияют на mod_php и FastCGI режим?

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

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

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

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

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

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

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

19
ответ дан 30 November 2019 в 08:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: