Сайт Apache2 PHP - Совершающий нападки предел MaxClients - диагностирование?

Разве это не вопрос о Windows? Windows является единственная ОС, это задержало достаточно к ping блока по умолчанию.

Я действительно ненавижу это. Интересно, сколько лет человека было потрачено впустую людьми, диагностирующими сеть просто, потому что ping не работал.

7
задан 16 November 2009 в 07:58
4 ответа

450 детей с RSS приблизительно 10 МБ каждый - более чем 4 ГБ потенциального использования памяти. Более чем достаточно заставить Ваш c1.small экземпляр подкачивать. Свопинг является почти всегда нисходящей спиралью для апачских серверов.

Я сказал бы следующие несколько вещей, которые я буду надеяться проверять,
- делает апачский журнал ошибок, упоминают, что поразили maxclients
- делает dmesg, или/var/log/messages упоминают уничтожителя OOM вообще
- свопинг сервера
- рост использования памяти, медленный и устойчивый или spiky/rapid-onset

Первые два просто смотрят на txt файлы. Третье можно сделать cli, но графики помогут, и четвертое, Вам нужны графики. Установите mod_status апача (вероятно, уже там, просто не комментируют это), и укажите на munin/collectd/cacti на него.

Если Вы подтверждаете, что причиной является исчерпание памяти и подкачивающий существуют тонны, которые можно сделать оттуда. Прежде всего можно понизить maxclients приблизительно к 150. Это оставит некоторую комнату для другого материала и кэша файловой системы (mysql на здесь? раз так уезжайте больше). RSS является грубой метрикой для экстраполирования как это ее просто все, что мы получили. После того как Вы настраиваете те часы графики со временем и видите, имеете ли Вы пространство для восстановления работоспособности или вниз. Оттуда можно сфокусироваться на 1.) более тощие апачские дети (меньше модулей, ограничьте конфигурацию php), 2.) имеют апача, делают меньше (соединение cdn, альтернатива http серверы и опции прокси HTTP) 3.) upgrayyed $$$

2
ответ дан 2 December 2019 в 23:45

У Вас могут быть постоянные соединения, открытые для Вашего сервера с долгим тайм-аутом. В то время как дополнительные клиенты продолжают соединяться, они занимаются все большим количеством апачских процессов. С постоянными соединениями на каждый клиент может взять 1 (или больше) соединения с Вашим сервером.

Проверьте это для большего количества информации: http://httpd.apache.org/docs/1.3/misc/perf-tuning.html

1
ответ дан 2 December 2019 в 23:45
  • 1
    heya, < br/> я думал, что это, возможно, был KeepAlive, однако, если я проверяю " apache2ctl status" большинство из них является not' t в состоянии ожидания, обычно. например, прямо сейчас < br/> Общие доступы: 42653 - Общий Трафик: Использование ЦП на 1,5 ГБ: u6.64 s1.27 cu0 cs0 - загрузка ЦП на.193% 10,4 запросов/секунда - 387,1 КБ/секунда - 37,2 КБ/запросы 31 запрос, в настоящее время обрабатываемый, 11 неактивных рабочих. Кроме того, посмотрите здесь для предыдущих состояний: < br/> ubuntuforums.org/showthread.php?t=1310139 < br/> С наилучшими пожеланиями, Victor –  victorhooi 16 November 2009 в 09:40
  • 2
    Ну, хорошо, это полностью didn' t работа... lol... делает < br/> не работают или что-то? Хм, или < br/>. Urgh... извините об этом парни. < br/> Проверенный сейчас, " 52 запроса, в настоящее время обрабатываемые, 4 неактивных workers" таким образом, it' s все еще главным образом actives, я думаю. < br/> Есть ли что-то еще, что я могу проверить для проверки? Или я могу выключить проверку активности. –  victorhooi 16 November 2009 в 09:44

Я консолидировал набор настраивающих подсказок по производительности в http://www.anchor.com.au/hosting/dedicated/improving-server-capacity для работы недавно; это работало вполне прилично на машины, на которые я применил его недавно. Кроме того, если это - более широкая проблема исполнения машины, которое не могло бы быть характерно для Apache, у меня есть намного больше всесторонней статьи по http://www.anchor.com.au/hosting/development/HuntingThePerformanceWumpus, который касается идентификации, какой компонент системы вызывает проблемы.

1
ответ дан 2 December 2019 в 23:45
  • 1
    Удар MaxClients означает, что запросы входят быстрее, чем можно иметь дело с ними. It' s проблема производительности. 20 000 хитов в день дают приблизительно 4 секунды для обслуживания каждого запроса, умноженного на число детей Apache, которых Вы имеете. Даже только с 10 детьми, который делает 40 секунд на запрос. Мое предположение - то, что каждый запрос требует некоторого уникального ресурса, и все другие запросы ставят в очередь позади него. MySQL является вероятным преступником. Ищите lock_time в журнале медленного запроса. Другая опция состоит в том, что Вы служите большим файлам, которые занимают несколько минут для загрузки. Возможно, it' s оба. –  Ladadadada 31 January 2010 в 21:21

Можно также попытаться говорить Apache запускать с 50 процессами (StartServers 50) так, чтобы он не проходил целую стандартную программу расширения сервера, когда он запускает, попытайтесь поднять серверы запчасти Max приблизительно к 20 также так, чтобы потоки не вымирали, если запросы прибывают в волны.

1
ответ дан 2 December 2019 в 23:45

Теги

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