Прекратите использовать suPHP. Это порождает отдельный процесс для каждого запроса PHP, делая eAccelerator бесполезный (поскольку кэш отбрасывается с каждым запросом).
из Вашего описания плетут кружево, походит на нерезьбового апача с (dso-) php. И у Вас есть скачки загрузки, правильно? У меня было это прежде...
Ваш апач запускает много серверных процессов. Если существует больше входящих соединений, чем Ваши процессы могут обработать, то больше серверных процессов порождено.
Так как загрузка уже высока, порождение занимает время. Если порождение занимает много времени и существует больше входящих запросов, прежде чем недавно порожденные серверные процессы будут операционными, дополнительные процессы порождены, замедлив машину еще больше. Это - ситуация, где eaccelerator не помогает многому.
Таким образом, что можно сделать? Ну, можно установить StartServers
, MinSpareServers
и MaxSpareServers
в Вашей апачской конфигурации путь выше, чем теперь. Необходимо определить средний размер единственного апачского процесса в системе (так как Вы используете mod_php, они должны начать примерно тот же размер, позже они начинают расти, потому что php никогда не освобождает выделенной памяти), и определите, сколько процессов того размера можно вписаться в объем памяти, который Вы хотите потратить на апача. Необходимо предварительно запустить достаточно серверных процессов для оставлений в живых всюду по скачкам загрузки без слишком большого порождения. Также не забудьте сохранять MaxRequestsPerChild на разумном уровне для освобождения памяти, выделенной php на время от времени.
Долгосрочное решение состояло бы в том, чтобы переключить на потоковый (рабочий-) MPM на апаче, который легче на поршне, потому что апачская память доли потоков (и начинание новой дискуссии путь, легче в системе, чем порождение нового процесса), и использование fcgi с php. eaccelerator прекрасен, я сохранил бы его в установке.
Хорошо, возможно, Вы спрашиваете слишком много своего сервера, даже с включенным eAccelerator. Сколько апачских процессов было активно при ударе этих 250 загрузок в среднем? Это походит независимо от Вашей php конфигурации, необходимо настроить апачские настройки так, чтобы это не могло вращать больше экземпляров, чем серверное оборудование может обработать.