Веб-сервер Максимальное количество пользователей apache может справиться?
Мой вопрос в том, каково максимальное количество пользователей, с которыми может обрабатывать веб-сервер Apache 2.2.2, у меня есть веб-сайт, который иногда получает более 300 одновременных пользователей, однако для конфигурации по умолчанию apache установлено значение max 150, я знаю, что могу увеличить это значение, однако, если я боюсь, что могу работать над возможностями, которые может обрабатывать Apache, мой сервер достаточно мощный с 8-ядерным процессором AMD с 16 ГБ памяти
-
Как определить, сколько запросов обрабатывает apache,
-
В общем, что параметры/конфигурации для оптимальной оптимизации для загрузки сервера. iee keep keep alive..etc
-
Когда я увеличиваю максимальный размер пользователя, MySql поглощает большую часть мощности процессора, переходя на более чем 150% процессор иногда.... не уверен, почему..
Любые эксперты?
Ответы
Ответ 1
Apache поставляется с 40-100 максимальными потоками. Он может быть увеличен, чтобы одновременно обрабатывать больше потоков.
Перед внесением любых изменений в приложение следует отслеживать. На основе ответа попробуйте изменить "ThreadsPerChild" и "AcceptThreads" соответственно.
Обычно количество "максимального" количества потоков по умолчанию достаточно велико; однако могут быть условия, когда это число, возможно, потребуется увеличить. Использование потоков может контролироваться. Чтобы контролировать, запустите экземпляр администратора, выберите соответствующий HTTP-сервер и выберите "Статистика сервера реального времени" в левом нижнем углу.
Если Idle Threads близок к нулю или равен нулю, это проблема. Пока Idle Threads равно нулю, новые клиентские соединения не могут быть установлены. Новые клиенты будут переведены в состояние ожидания до тех пор, пока поток не станет доступен. Наша рекомендация по этому условию состоит в том, чтобы добавить директив ThreadsPerChild с увеличенным значением, примерно вдвое превышающим текущее значение, если оно находилось в диапазоне от 40 до 100, или плюс 50, если оно было выше 100. Требуемое минимальное значение (для максимального параметр) может быть найден только путем проб и ошибок. Если после увеличения значения сервер работает плавно, прекратите тестирование.
(источник)
Ответ 2
Рекомендации
Используйте Keep Alive, так как это повысит производительность вашего сервера. Отключить сохранение настроек "Живой" только тогда, когда между веб-сайтом или приложением имеется межсетевой экран. Или вы сталкиваетесь с проблемами с пакетом пакетов/связью reset msg.
- Вы можете увеличить максимальный клиентский предел, но предел полностью зависит от конфигурации вашего сервера. В среднем каждый поток apache будет использовать let say 25MB, тогда в этом случае вы должны поддерживать максимальное значение клиента (MAX * нагрузка на каждый поток)/(выделенные RAM-потоки). Всегда поддерживайте это соотношение до 1/2.
- Вы можете увеличить число пользователей, как описано выше, увеличив максимальные клиентские и серверные пределы ваших систем.
- Всегда задавайте ограничения min-maxspare или min-maxthread.
- Один очень важный момент, если вы не можете увеличить максимальный клиентский предел, просто увеличьте ограничение на прослушивание, которое потребует дополнительных запросов в очереди, что, в свою очередь, предотвратит падение соединения.
Ответ 3
Вам нужно будет отредактировать файл httpd.h, чтобы обеспечить максимальные максимальные значения за 256 жестко закодированными лимитами, а затем перекомпилировать программу httpd. Это предлагается в файле конфигурации для httpd.
Ответ 4
См. это руководство для обзора: http://www.devside.net/articles/apache-performance-tuning
В основном это касается выбранного вами Apache MPM (основанного на потоках или основанного на процессе) и его настроек.
Затем вам нужно сопоставить его с настройками KeepAlive (я использую MPM на основе потоков и, следовательно, установите KeepAlives в On и в течение 3 секунд).
Используете ли вы Apache под Linux или Windows? Какой MPM?