Я использую сервер Linux с 2 ядрами Xeon Quad, RAID10 и 8 ГБ ОЗУ.Я обслуживаю некоторые продукты, которые не используют для перегрузки сервера, но 3–4 раза в месяц, из-за характера продуктов, я получаю огромное количество клиентов, которые обращаются к нему.Например, я получил 1 000 000 запросов за 3 часа.Сервер имеет 2 Гб для MySQL и Apache2, ограниченный 1500 потоками, использующими mpm.Проблема в том, что когда сервер достигает максимального количества потоков (сервер достиг значения MaxClients, рассмотрите возможность увеличения параметра MaxClients), средняя загрузка сервера становится действительно высокой, она колеблется от 15 до 400 или около того, и даже после остановки клиентовпри доступе число потоков Apache остается действительно высоким, и может потребоваться более 20 минут, чтобы уменьшить их количество.Делая ps aux, я вижу, что процесс создается одновременно с достижением сервером максимального количества потоков.Если я делаю пару из них, я ничего не делаю.У MSQL нет ожидающих запросов.
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 2000
#ListenBacklog 2000 #have just commented this out
#MaxClients 150
MaxClients 1500
#MaxRequestsPerChild 0
MaxRequestsPerChild 10000 # have just setted this value
</IfModule>
Как я могу предотвратить это?Почему эти темы не умирают или не заканчиваются?
Я ожидаю сегодня 1.000.000 обращений снова.
Заранее спасибо