Tuning FreeBSD 7.2 amd64 for high load nginx web server.

Михаил Монашёв postmaster на softsearch.ru
Вс Дек 27 14:04:45 MSK 2009


Здравствуйте, Антон.

>>                 listen          83.222.4.74:80 default
>> accept_filter=httpready rcvbuf=4096 sndbuf=131072;

AY> Как  сдесь  уже  неоднократно  обсуждалось  accept_filter довольно
AY> спорная  вещь  при наличии nginx. С одной стороны коннекция в ядре
AY> дешевле  коннекции в ядре. С другой стороны коннекцией nginx легче
AY> управлять (обрывать по таймуту).

AY> Соединения,  которые  не  прошли accept_filter могут висеть долго,
AY> возможно вечно.

AY> Т.  е.  если  есть  accept_filter  то DDoS-ер можно подключаться и
AY> слать  запрос  по  одному  байту в 10 минут. В итоге его коннекция
AY> будет  очень  долго  висеть на сервере и кушать его ресурсы (т. е.
AY> атакующий  может  просто  открыть  kern.ipc.maxsockets коннекция и
AY> расходуя мало трафика их поддерживать открытыми).

AY> Если  accept_filter  нет, то nginx просто закроет такое соединение
AY> когда  истечет  таймаут  client_header_timeout (который в условиях
AY> DoS можно сделать небольшим).

Максим Дунин некоторое время назад высказывал подобные опасения, но
они вроде не оправдались.

--

С уважением,
Михаил Монашёв, SoftSearch.ru
mailto:postmaster at softsearch.ru
ICQ# 166233339
http://michael.mindmix.ru/
Без бэкапа по жизни.




Подробная информация о списке рассылки nginx-ru