максимальное количество пользователей веб-сервера, которое может обрабатывать apache?

Мой вопрос заключается в том, какое максимальное количество пользователей может обрабатывать веб-сервер Apache 2.2.2, у меня есть веб-сайт, который иногда получает более 300+ одновременных пользователей, однако в конфигурации apache по умолчанию установлено максимальное значение 150, я знаю, что могу увеличить это значение, однако, если я это сделаю, я боюсь, что могу превысить емкость, с которой может справиться Apache, мой сервер довольно мощный с 8-ядерным четырехъядерным процессором AMD с памятью 16 GM.

  1. Как определить, сколько запросов может обработать apache,

  2. В общем, какие параметры/конфигурации лучше всего оптимизированы под нагрузку на сервер. т.е. отключить сохранение жизни ..и т.д.

  3. Когда я увеличиваю максимальный размер пользователя, MySql потребляет большую часть мощности процессора, иногда превышая 150% ЦП .... не знаю, почему ..

Есть специалисты?


person mahen3d    schedule 25.05.2012    source источник


Ответы (4)


Apache поставляется с 40-100 максимальными потоками. Его можно увеличить, чтобы одновременно обрабатывать больше потоков.

Приложение должно быть проверено, прежде чем вносить в него какие-либо изменения. Основываясь на ответе, попробуйте соответственно изменить «ThreadsPerChild» и «AcceptThreads».

По умолчанию обычно достаточно «максимального» количества потоков; однако могут быть условия, при которых это число может потребоваться увеличить. Использование потоков можно контролировать. Для мониторинга запустите административный экземпляр, выберите нужный HTTP-сервер и выберите «Статистика сервера в реальном времени» в левом нижнем углу.

Если Idle Threads близок к нулю или равен нулю, это проблема. Пока Idle Threads равен нулю, невозможно установить новые клиентские соединения. Новые клиенты будут переведены в состояние ожидания, пока поток не станет доступным. Наша рекомендация для этого условия — добавить директиву ThreadsPerChild с повышенным значением, примерно вдвое превышающим текущее значение, если оно было в диапазоне от 40 до 100, или плюс 50, если оно было выше 100. Требуемое минимальное значение (для максимального параметр) можно найти только методом проб и ошибок. Если после увеличения значения сервер работает плавно, прекратите тестирование.

(источник)

person user1268571    schedule 09.09.2012

Рекомендации

Пожалуйста, используйте Keep Alive, так как это повысит производительность вашего сервера. Отключайте настройки Keep Alive только при наличии брандмауэра между веб-сайтом или приложением. Или вы столкнулись с проблемами сброса пакета/сообщения о сбросе соединения.

  • Вы можете увеличить максимальное количество клиентов, но ограничение будет полностью зависеть от конфигурации вашего сервера. В среднем каждый поток apache будет занимать, скажем, 25 МБ, тогда в этом случае вы сохраните максимальное значение клиента равным (MAX * нагрузка на каждый поток) / (выделенная RAM * потоки). Всегда поддерживайте это соотношение равным 1/2.
  • Вы можете увеличить количество пользователей до любого числа, как описано выше, увеличив максимальные лимиты клиентов и серверов ваших систем.
  • Всегда определяйте ограничения min-maxspare или min-maxthread.
  • Один очень важный момент, если вы не можете увеличить максимальный лимит клиентов, просто увеличьте лимит невыполненных запросов на прослушивание, это займет дополнительные запросы в очереди, что, в свою очередь, предотвратит разрыв соединения.
person Sourabh Sharma    schedule 08.12.2012
comment
Я пытался использовать поддержку активности, но обнаружил, что она значительно сокращает время отклика сервера. Кто-то тоже посоветовал отключить поддержку активности. - person mahen3d; 17.12.2012
comment
@Sourabh Sharma: Вы указали, что мы можем увеличить предел ожидания прослушивания, чтобы оставаться в очереди, поэтому как увеличить ограничение ожидания прослушивания в apache. ? - person BSB; 29.10.2018

См. обзор в этом руководстве: http://www.devside.net/articles/apache-performance-tuning

В основном все дело в выбранном вами Apache MPM (на основе потоков или процессов) и его настройках.

Затем вам нужно сопоставить его с настройками KeepAlive (я использую MPM на основе потоков и, следовательно, устанавливаю KeepAlives на On и на 3 секунды).

Вы используете Apache под Linux или Windows? Какой МПМ?

person rightstuff    schedule 26.05.2012

Вам нужно будет отредактировать файл httpd.h, чтобы обеспечить максимальное количество клиентов, превышающее жестко запрограммированное ограничение в 256, а затем перекомпилировать программу httpd. Это предлагается в файле конфигурации для httpd.

person Henry McKelvey    schedule 22.10.2013