Время отклика Apache httpd увеличивается при одновременных подключениях
Я знаю, что было задано много вопросов на эту тему, но я не нашел ответа, чтобы помочь мне.
Я пытаюсь, чтобы Apache httpd отвечал на 200 одновременных соединений. Я тестирую с помощью jMeter, выбираю небольшой статический текстовый файл (около 100 байт), используя prefork; MaxClient & ServerLimit на 500, ни память, ни процессор не ограничены (оба меньше 50%), пропускная способность составляет 1 Гбит / с.
- если я запускаю только одно соединение, время отклика составляет около 7 мс
- если я запускаю несколько одновременных подключений (скажем, 2 или 3), время отклика достигает 70 мс
- если я начну немного больше (скажем, 20), время отклика превышает 2 с даже для первого соединения
Использование keep-alive мало что меняет. Перезапуск httpd тоже не помогает.
Я делаю что-то неправильно? как я могу это исправить?
заранее спасибо
Greg
1 ответ
Чтобы решить проблему, мне пришлось постоянно увеличивать количество запущенных процессов. Вместо:
StartServers 5
MinSpareServers 5
MaxSpareServers 10
Я изменился на:
StartServers 300
MinSpareServers 300
MaxSpareServers 300
Теперь время ответа приемлемо. Кажется, процесс создания / убийства очень тяжел даже для быстрых компьютеров...