URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 91629
[ Назад ]

Исходное сообщение
"Чем шейпить 2GB"

Отправлено qwek , 24-Май-11 01:32 
Есть интернет: 2 Gbit/s
потребителей: 5K
требуется раздать каждому по 10 Mbit/s

На данном этапе работают несколько серверов на FreeBSD, которые выполняют задачу шейпирования используя ipfw & dummynet, скорости шейпа на каждого потребителя намного ниже требуемой. Предполагаю, что при поднятии планки до десяти мегабит вся текущая система обрушится. Экспериментировать на текущем оборудовании возможности нет.  Возможно кто-то сталкивался с подобной задачей, подскажите варианты отличные от текущего.
Спасибо.


Содержание

Сообщения в этом обсуждении
"Чем шейпить 2GB"
Отправлено universite , 24-Май-11 02:28 
> Есть интернет: 2 Gbit/s
> потребителей: 5K
> требуется раздать каждому по 10 Mbit/s
> На данном этапе работают несколько серверов на FreeBSD, которые выполняют задачу шейпирования
> используя ipfw & dummynet, скорости шейпа на каждого потребителя намного ниже
> требуемой. Предполагаю, что при поднятии планки до десяти мегабит вся текущая
> система обрушится. Экспериментировать на текущем оборудовании возможности нет.  Возможно
> кто-то сталкивался с подобной задачей, подскажите варианты отличные от текущего.
> Спасибо.

Имхо, надо разбить на несколько машин. Потолок 1-1,5K юзеров на машину с интеловскими сетевухами.


Для использующих dummynet с высокими скоростями: в /etc/sysctl.conf имеет смысл увеличить максимально допустимую длину очереди шейпера и включить режим io_fast, уменьшающий задержки и разгружающий CPU за счет пропуска без шейпинга пакетов тех пользователей, которые не выбирают своей полосы:

net.inet.ip.dummynet.pipe_slot_limit=1000
net.inet.ip.dummynet.io_fast=1

Прочий тюнинг /etc/sysctl.conf:

net.inet.ip.fastforwarding=1
# на тот случай, если работу netisr стабилизируют в будущем, увеличиваем длину очереди под входящие пакеты:
net.inet.ip.intr_queue_maxlen=10240



"Чем шейпить 2GB"
Отправлено gfh , 24-Май-11 12:50 
"Стоит также отметить одну особенность шейпинга на серверах под управлением FreeBSD. Как известно, параметры шейпинга и точность нарезки канала очень сильно зависят от параметра ядра HZ. Этот параметр задает количество срабатываний внутреннего таймера прерываний в секунду, как правило, он ставится в значение 1000. При необходимости шейпинга трафика на больших количествах очередей и при высокой загруженности сетевой системы по количеству пакетов в секунду, значение этого параметра надо увеличивать, в противном случае пакеты будут пролетать по трубе быстрее, чем шейпер будет успевать их обрабатывать в случае превышения полосы пропускания на клиента."

"Чем шейпить 2GB"
Отправлено qwek , 16-Июн-11 03:22 
Большое спасибо всем кто ответил. Я внимательно прочитал советы, они весьма  полезные для меня.
Конфиг на текущей машине таков:


net.inet.ip.dummynet.hash_size=16384
net.inet.ip.dummynet.expire=0
net.inet.ip.dummynet.io_fast=1
net.inet.ip.fastforwarding=1
net.inet.ip.fw.one_pass=0
net.inet.ip.redirect=0
net.inet.icmp.drop_redirect=1
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
kern.ipc.somaxconn=1024
net.inet.ip.fw.dyn_buckets=2048
net.inet.tcp.msl=15000
net.inet.ip.dummynet.pipe_slot_limit=1000
kern.ipc.nmbclusters=65536

что скажете, коллеги, есть недостатки и если есть то в чем?
Спасибо!


"Чем шейпить 2GB"
Отправлено rr , 16-Июн-11 10:26 
>[оверквотинг удален]
> net.inet.icmp.drop_redirect=1
> net.inet.tcp.blackhole=2
> net.inet.udp.blackhole=1
> kern.ipc.somaxconn=1024
> net.inet.ip.fw.dyn_buckets=2048
> net.inet.tcp.msl=15000
> net.inet.ip.dummynet.pipe_slot_limit=1000
> kern.ipc.nmbclusters=65536
> что скажете, коллеги, есть недостатки и если есть то в чем?
> Спасибо!

10Мбит/с * 5000 потребителей = 50Гбит/с ?
а канал всего 2Гбит/с !


"Чем шейпить 2GB"
Отправлено universite , 16-Июн-11 10:32 

> 10Мбит/с * 5000 потребителей = 50Гбит/с ?
> а канал всего 2Гбит/с !

Вы забыли про оверселлинг.
Реально вхоод будет не больше гига, а вот исход, да, надо сильно шейпить.
Ибо оставленные на раздачу торренты способны перегрузить любой канал.


"Чем шейпить 2GB"
Отправлено rr , 16-Июн-11 10:36 
>> 10Мбит/с * 5000 потребителей = 50Гбит/с ?
>> а канал всего 2Гбит/с !
> Вы забыли про оверселлинг.
> Реально вхоод будет не больше гига, а вот исход, да, надо сильно
> шейпить.
> Ибо оставленные на раздачу торренты способны перегрузить любой канал.

Оверселинг - понятие нечестных продавцов?)


"Чем шейпить 2GB"
Отправлено universite , 16-Июн-11 10:43 

> Оверселинг - понятие нечестных продавцов?)

Суровая правда жизни.
В данном случае, продавец пытается загрузить свой канал.
Он не виноват, что юзеры его недогружает.
Нечестный продавец - это когда юзеры наоборот, не получают свои пакетные скорости.


"Чем шейпить 2GB"
Отправлено rr , 16-Июн-11 10:47 
>> Оверселинг - понятие нечестных продавцов?)
> Суровая правда жизни.
> В данном случае, продавец пытается загрузить свой канал.
> Он не виноват, что юзеры его недогружает.
> Нечестный продавец - это когда юзеры наоборот, не получают свои пакетные скорости.

А если вдруг все 5000 потребителей одновременно начнут загружать что-нибудь?
Получат ли 5000 потребителей свои пакетные скорости?


"Чем шейпить 2GB"
Отправлено PavelR , 16-Июн-11 11:01 
>>> Оверселинг - понятие нечестных продавцов?)
>> Суровая правда жизни.
>> В данном случае, продавец пытается загрузить свой канал.
>> Он не виноват, что юзеры его недогружает.
>> Нечестный продавец - это когда юзеры наоборот, не получают свои пакетные скорости.
> А если вдруг все 5000 потребителей одновременно начнут загружать что-нибудь?
> Получат ли 5000 потребителей свои пакетные скорости?

Решили потренироваться в софистике?


"Чем шейпить 2GB"
Отправлено rr , 16-Июн-11 11:06 
>>>> Оверселинг - понятие нечестных продавцов?)
>>> Суровая правда жизни.
>>> В данном случае, продавец пытается загрузить свой канал.
>>> Он не виноват, что юзеры его недогружает.
>>> Нечестный продавец - это когда юзеры наоборот, не получают свои пакетные скорости.
>> А если вдруг все 5000 потребителей одновременно начнут загружать что-нибудь?
>> Получат ли 5000 потребителей свои пакетные скорости?
> Решили потренироваться в софистике?

Нет, интересует юридическая подоплека "оверселинга".

Кстати есть формула расчета? На сколько можно перепродать определенную полосу, определенному количеству клиентов. Понятно, что среднестатическая загрузка клиентом каналов, зависит от характера деятельности клиента


"Чем шейпить 2GB"
Отправлено DeadLoco , 16-Июн-11 16:33 
> А если вдруг все 5000 потребителей одновременно начнут загружать что-нибудь?

А если вдруг все владельцы мобильных телефонов начнут звонить одновременно? А если вдруг все граждане страны захотят купить билеты на один и тот же поезд? Или даже просто одновременно открыть краник в ванной на всю катушку?

Есть теория массового обслуживания, которая позволяет рассчитывать мощность провайдера некоторой услуги (например, водопроводной) исходя из статистического характера потребителя. Если вдруг характер потребления резко меняется (засуха или флешмоб) то это имеет признаки форсмажора, а не недобросовестного выполнения обязательств. Разумеется, форсмажор не может приключаться каждый день год за годом.

Оверселл по входу - это не так инструмент наживы кровожадного провайдера, как инструмент удешевления услуги для клиента при малозаметном (если вообще заметном) падении качества. А проблемы с обраткой лечатся грамотным расчетом асимметрии клиентских полос.


"Чем шейпить 2GB"
Отправлено rr , 16-Июн-11 17:09 
>> А если вдруг все 5000 потребителей одновременно начнут загружать что-нибудь?
> А если вдруг все владельцы мобильных телефонов начнут звонить одновременно? А если
> вдруг все граждане страны захотят купить билеты на один и тот
> же поезд? Или даже просто одновременно открыть краник в ванной на
> всю катушку?
> Есть теория массового обслуживания,

То есть оверсел формализован.

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

Не разу не видели в договорах такого определения форсмажора

> Разумеется,
> форсмажор не может приключаться каждый день год за годом.
> Оверселл по входу - это не так инструмент наживы кровожадного провайдера, как
> инструмент удешевления услуги для клиента при малозаметном (если вообще заметном) падении
> качества. А проблемы с обраткой лечатся грамотным расчетом асимметрии клиентских полос.

Это не совсем понятно.



"Чем шейпить 2GB"
Отправлено DeadLoco , 16-Июн-11 17:28 
>> Есть теория массового обслуживания,
> То есть оверсел формализован.

гуглите "Центральная Предельная Теорема".

> Не разу не видели в договорах такого определения форсмажора

Бывает. На будущее советую искать в договоре буковки "SLA".

> Это не совсем понятно.

Какое именно слово?



"Чем шейпить 2GB"
Отправлено qwek , 18-Июн-11 00:14 
> Получат ли 5000 потребителей свои пакетные скорости?

Получат и получают. Еще во времена первых телефонных компаний был такой дядька звали его Агнер К. Эрланг (1878-1929), так вот он и есть прародитель Оверселинга и даже в наше время любая уважающая себя телекоммуникационная компания считает нагрузку опираясь на формулу расчета, которой в свое время дал путевку жизнь Эрланг

Транзитный трафик это случайная величина, которая зависит от множества факторов. Мерять в граммах принято только в глупых рекламах. Интернет это один из немногих товаров, который можно продать много раз подряд разным людям и в одно и тоже время.

Эта тема создана специально для того, чтобы узнать о том, как это делают другие.