Вы запускаете apache 2.2 с MPM-файлом prefork; общеизвестно, что это не подходит для обслуживания большого количества одновременных подключений.
Рассмотрите возможность перехода на рабочий MPM или обновления до apache 2.4.
Даже apache 2.2, использующий рабочий MPM, может обслуживать тысячи одновременных запросы с 16 ГБ памяти.
Установка слишком низкого значения KeepAliveTimeout, особенно на мобильных устройствах, может повредить вам; рассмотрите возможность увеличения как минимум до 30 секунд.
Подобно адаптеру, переключитесь на «рабочий» MPM и масштабируйте до тысяч одновременных подключений.
Обратите внимание, что максимальная продолжительность ваших подключений также контролируется TimeOut
] Параметр Apache: установите низкое значение, потому что это значение «таймаута ввода-вывода при простое». Ну, не слишком низко, так как клиенты GPRS работают медленно, но значение по умолчанию 300 секунд - это слишком много.
Даже при низком значении параметра «TimeOut» клиенты все равно решают, сколько времени они будут удерживать соединение открыто. Возможно, вы захотите проверить mod_reqtimeout ( http://httpd.apache.org/docs/2.2/mod/mod_reqtimeout.html ), который очень помогает, по крайней мере, в блокировании атак типа slowloris.
Это можно определить другие таймауты, но это зависит от конкретных модулей / использования. Я контролирую более строгие таймауты через mod_proxy и mod_fcgid. Когда возможно заставить соединение никогда не использовать более N секунд настенного времени, вы точно знаете, какова ваша номинальная скорость поступления до достижения вашего MaxClients (это MaxClients / N
новых соединений / сек). Это во многом зависит от того, что вы используете в своем Apache.