Итак, у меня есть этот веб-сервер IIS 7 на Windows Server 2008 R2 (он также работает с ColdFusion 10, но для этой цели это не важно). Он работает неплохо, но у меня все равно не было большого трафика.
Несколько часов назад я начал получать стабильные 2-3 тысячи просмотров страниц в минуту, направленных на определенную пустую страницу. Это более или менее должно быть так, а не попытка DDOS или что-то в этом роде, но это полностью отключает сервер.
Я попытался установить ограничение запросов для рассматриваемого сайта, но это не помогло, похоже, что одного только наличия большого количества запросов достаточно, чтобы убить сервер.
Хотя я заинтересован в том, чтобы сервер мог обрабатывать множество запросов (если у вас есть представление о том, как это сделать, это здорово), сейчас самое важное - это быстрое исправление, т.е. IIS «невосприимчив» ко всем этим запросам страниц.
Любая идея? Заранее спасибо!
На основании предоставленной вами информации трудно сказать - я бы хотел посмотреть, появилось ли что-нибудь интересное в ваших журналах IIS и средстве просмотра событий, и получить дополнительную информацию об оборудовании, но мой снимок в темноте, поскольку я Сказал выше "закинул диск". Плохой диск в RAID 5 будет обнаружен, когда у вас будет большая нагрузка на чтение и сервер заблокируется. (У меня был весь колледж в режиме DOS, когда выполнялось резервное копирование сервера LDAP - администратор этого компьютера не осознавал, что один из его дисков умер. Люди звонили мне, а не ему домой, потому что мой сервис зависел от его.)
В комментариях вы сказали, что ваш сервер работает на SSD RAID. SSD-накопители неожиданно умирают, поэтому, возможно, стоит разобраться с этим. Исправный SSD RAID - и исправный сервер - должны выдерживать упомянутую вами нагрузку.
Если это не ddos-атака, она выглядит так.
Что я бы сделал здесь, так это установил обратный прокси-сервер с использованием IIS AAR перед этим. Обычно это просто передает запросы на внутренний сервер, который теперь работает на нечетном порту, не проходящем через брандмауэр. Затем для конкретной страницы я бы установил правило на прокси, чтобы просто возвращать неверный запрос. Это очень хорошо масштабируется, по крайней мере, до тех пор, пока у вас не закончится пропускная способность вашего сетевого порта.