попытками выполнить connect с интервалом в 1 секунду в течение 60 секунд
nginx будет только мешать backend`у обрабатывать другие клиентские запросы.
AN> Если он будет выдавать 502, то это значит атака удалась.
атака еще больше удалась, когда вместо 1 запроса к backend`у
nginx будет делать 60 запросов, на каждый из них затрачивая
системные ресурсы и без того уже перегруженного сервера.
А если не пытаться периодически делать запросы к бекэнду, а просто
удерживать соединение с клиентом до истечения таймаута? Тогда будет
шанс, что кол-во соединений само уменьшится за это время и можно будет
повторить запрос разок...
Или пойти ещё дальше: после получения первого EAGAIN - всем новым
соединениям к бекэнду автоматически присваивать статус якобы они тоже
получили его (хотя на самом деле не пытаться послать запрос). Но при
этом пытаться установить соединение с бекэндом через равные промежутки
времени, и как только это удастся - продолжить посылать к нему новые
запросы плюс те, которые в состоянии полученного EAGAIN.
По идее, это должно даже уменьшить нагрузку на бекэнд... ?
что-то я сомневаюсь, что количество находящихся в бэклоге коннектов _напрямую_
как-то существенно может влиять на нагрузку на бэкенд. Ресурсы на коннект должны
быть небольшими, unix socket
===================================
Gena Makhomed 21.03.2008 12:12 пишет:
> fastcgi может работать через unix socket, overhead должен быть небольшим.
===================================