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

Исходное сообщение
"вопрос по трафик шейперу"

Отправлено mesmeridze , 18-Фев-09 15:39 
Добрый день!
У меня канал от провайдера 15 мбит/с, мне необходимо его разделить на огромное число пользователей (ок 4000), используемый мною для этих целей шейпер работает, но в пиковые нагрузки сбоит, со стороны файрфокса я вижу сообщение "Сервер разорвал соединение" и после рефреша страница загружается нормально со стороны IE загрузчика файлов происходит замерание на каком-то этапе загрузки и загрузка далее не продолжается.
#!/bin/bash
#V1.0
INT_IFACE="eth0"
TC="/sbin/tc"
UNITS="kbit"
LINE="15000"
NUMREGIONS="28"
RESERV="1000"
SPORT="match ip sport"
DHOST="match ip dst"
SHOST="match ip src"

HIGHWATER=`echo ${LINE}-${RESERV}|bc`
HIGHWATERWEAK=4000
HIGHWATERSTRONG=9000

function lowcount {
        LOWATER=`echo ${REGKOEF}*${LINE}|bc -l`
}


${TC} qdisc del dev ${INT_IFACE} root

${TC} qdisc add dev ${INT_IFACE} root handle 1:0 htb
${TC} class add dev ${INT_IFACE} parent 1:0 classid 1:1 htb rate ${LINE}${UNITS} ceil ${LINE}${UNITS}

############################################################CLASSY#########################################################
REGKOEF=0.009
lowcount
${TC} class add dev ${INT_IFACE} parent 1:1 classid 1:2 htb rate ${LOWATER}${UNITS} ceil ${HIGHWATERSTRONG}${UNITS}
REGKOEF=0.001
lowcount
${TC} class add dev ${INT_IFACE} parent 1:1 classid 1:3 htb rate ${LOWATER}${UNITS} ceil ${HIGHWATERSTRONG}${UNITS}
..........
############################################################FILTRY#########################################################
${TC} filter add dev ${INT_IFACE} parent 1:0 protocol ip prio 2 u32 ${DHOST} 10.10.15.0/24 ${SPORT} 3128 0xffff flowid 1:2
${TC} filter add dev ${INT_IFACE} parent 1:0 protocol ip prio 2 u32 ${DHOST} 10.10.16.0/24 ${SPORT} 3128 0xffff flowid 1:2
${TC} filter add dev ${INT_IFACE} parent 1:0 protocol ip prio 2 u32 ${DHOST} 10.10.17.0/24 ${SPORT} 3128 0xffff flowid 1:2
${TC} filter add dev ${INT_IFACE} parent 1:0 protocol ip prio 2 u32 ${DHOST} 10.10.25.0/24 ${SPORT} 3128 0xffff flowid 1:3
${TC} filter add dev ${INT_IFACE} parent 1:0 protocol ip prio 2 u32 ${DHOST} 10.10.26.0/24 ${SPORT} 3128 0xffff flowid 1:3
${TC} filter add dev ${INT_IFACE} parent 1:0 protocol ip prio 2 u32 ${DHOST} 10.10.27.0/24 ${SPORT} 3128 0xffff flowid 1:3
............
############################################################OCHEREDI########################################################
${TC} qdisc add dev ${INT_IFACE} parent 1:2 sfq perturb 15
${TC} qdisc add dev ${INT_IFACE} parent 1:3 sfq perturb 15
............
скрипт сокращен.

В чем может быть проблема?
Для корневого класса (classid 1:1), насколько я понимаю, очередь нельзя прикрутить?


Содержание

Сообщения в этом обсуждении
"вопрос по трафик шейперу"
Отправлено Z0termaNN , 18-Фев-09 19:02 
>Добрый день!
>У меня канал от провайдера 15 мбит/с, мне необходимо его разделить на
>огромное число пользователей (ок 4000), используемый мною для этих целей шейпер

а что нужно от этого шейпера 4000 пользователям ?


"вопрос по трафик шейперу"
Отправлено mesmeridze , 19-Фев-09 10:44 
>а что нужно от этого шейпера 4000 пользователям ?

Каждая группа юзеров имеет свою гарантированную скорость доступа, если группа хочет бОльшую скорость, то шейпер ее предоставляет отнимая неиспользуемую гарантированную скорость у другой группы. В самой группе трафик делится честно между всеми членами группы. Всего групп 28 а sfq должно поддерживать одновременно 1024 пассивные и 128 активные очереди, поэтому я надеюсь что длины очередей хватает для группы. Сквид настроен на maxcon 20.


"вопрос по трафик шейперу"
Отправлено Z0termaNN , 19-Фев-09 11:07 
>>а что нужно от этого шейпера 4000 пользователям ?
>
>Каждая группа юзеров имеет свою гарантированную скорость доступа, если группа хочет бОльшую
>скорость, то шейпер ее предоставляет отнимая неиспользуемую гарантированную скорость у другой
>группы. В самой группе трафик делится честно между всеми членами группы.
>Всего групп 28 а sfq должно поддерживать одновременно 1024 пассивные и
>128 активные очереди, поэтому я надеюсь что длины очередей хватает для
>группы. Сквид настроен на maxcon 20.

т.е., если я правильно понял, то имеется 28 классов htb, на каждый из которых
навешана sfq ?


"вопрос по трафик шейперу"
Отправлено mesmeridze , 19-Фев-09 12:08 
>навешана sfq ?

да так и есть.


"вопрос по трафик шейперу"
Отправлено Z0termaNN , 19-Фев-09 12:50 
>>навешана sfq ?
>
>да так и есть.

мне кажется, что следует крутить burst в сторону увеличения.
на самом деле вопросов много, я их готов обсудить в gtalk.
но один таки задам - а чем squid delay pools не устраивают ?


"вопрос по трафик шейперу"
Отправлено mesmeridze , 19-Фев-09 13:03 
>но один таки задам - а чем squid delay pools не устраивают
>?

Разве можно настроить delay pools на динамическое распределение трафика?



"вопрос по трафик шейперу"
Отправлено Z0termaNN , 19-Фев-09 14:00 
>>но один таки задам - а чем squid delay pools не устраивают
>>?
>
>Разве можно настроить delay pools на динамическое распределение трафика?

если я правильно помню, то параметры delay_pool выглядят

speed/max_speed,

т.е. если для 2 групп это будет выглядеть так


delay_parameters 3 64000/64000 32000/64000 6400/32000

т.е. максимум по 32К на рыло из 64К общей пропускной способности