Любое действие, выполненное Apache в ответ на любое взаимодействие с пользователем, приведет к снижению производительности для других пользователей, даже если оно очень маленькое - оно почти невидимо.
И программное (и память), и аппаратное обеспечение (физические ограничения и емкость) будет выполнять несколько действий, чтобы правильно отвечать и / или регистрировать взаимодействие с пользователем.
В этом случае, когда ваши пользователи (30 000–40 000) посетили сайт, Apache по-прежнему необходимо было регистрировать все эти ошибки.для того, чтобы выполнить настройки ведения журнала, установленные конфигурацией.Поскольку файл журнала представляет собой просто текстовый файл на диске gard, жесткий диск был слишком занят для чтения и записи фактического содержимого сайта.
Загрузка сервера была бы еще выше, если бы ApacheОшибка Trow 404 в качестве документа. В любом случае, лучший способ повысить производительность сервера - полностью избавиться от любых ошибок 404.
Вы также можете увеличить параметр MaxRequestsPerChild в файле конфигурации Apache до значения около 1000, чтобы уменьшить его.стресс от одного центрального процесса Apache к нескольким подпроцессам.Это позволит нескольким процессам Apache охватывать новые одновременно, увеличивая нагрузку на все ядра ЦП, а не только на одно.
При таком количестве посетителей я бы также рекомендовал изменить MPM вашей конфигурации Apache на что-то вроде этого:
<IfModule prefork.c>
StartServers 2
MinSpareServers 2
MaxSpareServers 5
ServerLimit 100
MaxClients 100
MaxRequestsPerChild 4000
</IfModule>