ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Изменение limit_rate "на ходу" без обрыва под ключений



On Fri, 03 Feb 2006 19:32:31 +0300, Eugene <my-subscr@xxxxxxx> wrote:

Вобщем да. Задача стоит именно эта.
Мне кажется, что более низкоуровнеыве средства значительно сильнее напрягают железо. Если просто залить в фаерфол весь список то при большом трафике он начинает активно жрать процессор.

Для этого в большинстве файрволов уже давно существуют таблицы. У меня на FreeBSD4.11 + ipfw работает на ура. Поиск по таблицам работает очень быстро и систему грузит не сильно. А ограничение скорости тем же dummynet, или ALTQ тем более на уровне ядра эфективнее.

В общем это неудивительно - каждый пакет приходится проверять на соответствие списку сетей, а работа это не маленькая, к тому же фаервол "крутится" в ядре как привилегированный процесс. Я хотел как раз для облегчения нагрузки вынести проверку на уровень приложения, чтобы nginx при подключении сам решал, что вот это соединение с такми-то ограничением и дальше уже работал с ним, не делая каждый раз проверку.

Евгений

Так вам на сервере в целом надо обеспечить непревышение зарубежным трафиком русского?
Для этого более низкоуровневые средства надо использовать. На Linux
надо собрать ядро с патчем ipsets, залить в него базу сетей, сделать
чтобы iptables маркировал соединения, а tc - ограничивал скорость. На
FreeBSD как-то тоже с помощью dummynet можно (хотя насколько я
понимаю, классификация пакетов при большом количестве подсетей может
потреблять много процессора).

--
Alexey Polyakov








 




Copyright © Lexa Software, 1996-2009.