Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss
Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

dummynet

29 views
Skip to first unread message

Sergey A. Yakovets

unread,
Feb 20, 2007, 9:31:15 AM2/20/07
to
Как поживаете, All ?

Вопрос по сабжу: есть какие-то рекомендации\алгоритмы\формулы по расчету
размера очереди для pipe с определенной пропускной способностью?

Проблема: работает шейпер на dummynet, наблюдается некотороая потеря
траффика. Hавскидку проблема в дефолтных значениях размера очереди (50 пакетов)
для pipe'ов от 32 до 512 Кбит\с. Скорее всего, поток не влезает в очередь и
часть пакетов отбрасывается. Как правильно рассчитать размер очереди для
каждого pipe в отдельности?

Заранее спасибо за ответы.

C уважением, Sergey A. Yakovets.
E-mail: for-t...@yandex.ru ICQ UIN: 165641526

... FaqServer 2:5088/50.50 Subj: %HELP %LIST

Eugene Grosbein

unread,
Feb 20, 2007, 11:54:10 AM2/20/07
to
20 фев 2007, вторник, в 17:31 KRAST, Sergey A Yakovets написал(а):

SAY> Вопрос по сабжу: есть какие-то рекомендации\алгоритмы\формулы по
SAY> расчету
SAY> размера очереди для pipe с определенной пропускной способностью?
SAY> Проблема: работает шейпер на dummynet, наблюдается некотороая потеря
SAY> траффика. Hавскидку проблема в дефолтных значениях размера очереди (50
SAY> пакетов)
SAY> для pipe'ов от 32 до 512 Кбит\с. Скорее всего, поток не влезает в очередь
SAY> и
SAY> часть пакетов отбрасывается. Как правильно рассчитать размер очереди для
SAY> каждого pipe в отдельности?

Pipe и должен отбрасывать пакеты, иначе какой же это шейпер?
Ты не можешь увеличивать длину очереди бесконечно, потому что задержки
вырастут настолько, что соединение начнет рвать сам юзер :-)

Hа таких низких скоростях размер очереди надо бы, наоборот, уменьшать,
чтобы не допустить гигантских задержек типа нескольких тысяч милисекунд.

А если хочешь и рыбку съесть, и потерь иметь минимум, то читай-ка ты
про RED/GRED на unixfaq.ru и делай не просто pipe, а queue/pipe с gred.
Рекомендую делать w_q=0.002, max_p=0.1, min=q/10, max=3*min,
где q - длина очереди, q=20 для скоростей меньше 100Kbit/s,
q=30 для скоростей от 100 до 300Kbit/s и q=50 для скоростей 512Kbit/s и выше.
Hу или что-то в этом роде.

Eugene
--
Смерть не разбирается, что сделано и что не сделано. (Артха)
Пожалуста... сделайте так чтобы я неразучился читать и писать. (Чарли Гордон)

Slawa Olhovchenkov

unread,
Feb 20, 2007, 8:09:36 AM2/20/07
to
Hello Sergey!

20 Feb 07, Sergey A. Yakovets writes to All:

SAY> Вопрос по сабжу: есть какие-то рекомендации\алгоритмы\формулы по
SAY> расчету размера очереди для pipe с определенной пропускной способностью?

SAY> Проблема: работает шейпер на dummynet, наблюдается некотороая потеря
SAY> траффика. Hавскидку проблема в дефолтных значениях размера очереди (50
SAY> пакетов) для pipe'ов от 32 до 512 Кбит\с. Скорее всего, поток не влезает
SAY> в
SAY> очередь и часть пакетов отбрасывается. Как правильно рассчитать размер
SAY> очереди для каждого pipe в отдельности?

В очередь должно помещаться не менее 150 пакетов, а лучше -- 200.

... Hе стоит пить из лужи -- пригодиться плюнуть.

Igor V. Kontsevykh

unread,
Feb 21, 2007, 12:15:03 AM2/21/07
to
> Вопрос по сабжу: есть какие-то рекомендации\алгоритмы\формулы по
> расчету
> размера очереди для pipe с определенной пропускной способностью?

Надо определить допустимую задержку на каждой очереди - и все дела.
Мы у себя остановились на 2000 мс - такой размер и ставится на все
очереди. Что не влазит - нафик.

Sergey A. Yakovets

unread,
Feb 21, 2007, 5:17:10 AM2/21/07
to
Как поживаете, Slawa ?

Мои бортовые системы запеленговали, что в 20 Фев 07 16:09, Slawa Olhovchenkov
писал Sergey A. Yakovets:

SAY>> Вопрос по сабжу: есть какие-то рекомендации\алгоритмы\формулы по
SAY>> расчету размера очереди для pipe с определенной пропускной

SAY>> способностью? Проблема: работает шейпер на dummynet, наблюдается
SAY>> некотороая потеря траффика. Hавскидку проблема в дефолтных
SAY>> значениях размера очереди (50 пакетов) для pipe'ов от 32 до 512
SAY>> Кбит\с. Скорее всего, поток не влезает в очередь и часть пакетов
SAY>> отбрасывается. Как правильно рассчитать размер очереди для


SAY>> каждого pipe в отдельности?

SO>
SO> В очередь должно помещаться не менее 150 пакетов, а лучше -- 200.

Да, примерно так и получилось. См. мое предыдущее сообщение.

Sergey A. Yakovets

unread,
Feb 21, 2007, 4:21:40 AM2/21/07
to
Как поживаете, Eugene ?

Мои бортовые системы запеленговали, что в 20 Фев 07 19:54, Eugene Grosbein
писал Sergey A Yakovets:

SAY>> Вопрос по сабжу: есть какие-то рекомендации\алгоритмы\формулы по

SAY>> расчету размера очереди для pipe с определенной пропускной
SAY>> способностью? Проблема: работает шейпер на dummynet, наблюдается
SAY>> некотороая потеря траффика. Hавскидку проблема в дефолтных

SAY>> значениях размера очереди (50 пакетов) для pipe'ов от 32 до 512
SAY>> Кбит\с. Скорее всего, поток не влезает в очередь и часть пакетов
SAY>> отбрасывается. Как правильно рассчитать размер очереди для


SAY>> каждого pipe в отдельности?

EG>
EG> Pipe и должен отбрасывать пакеты, иначе какой же это шейпер?
EG> Ты не можешь увеличивать длину очереди бесконечно, потому что задержки
EG> вырастут настолько, что соединение начнет рвать сам юзер :-)
EG>
EG> Hа таких низких скоростях размер очереди надо бы, наоборот, уменьшать,
EG> чтобы не допустить гигантских задержек типа нескольких тысяч
EG> милисекунд.

Пол-дня игрался с параметром queue. В итоге подобрал на первый взгляд
кое-что подходящее. Алгоритм\мысли были следующие:

Дано: асинхронный спутниковый Инет. Входящий канал - 1024 Кбит\с.

Опытным путем установлено, что проблемы с потерей траффика (до 10% от
общего объема) возникают при многопотоковых http\ftp закачках, т.к. спутниковый
провайдер в этом случае может отдать поток на все 1024 Кбит\с. При серфинге все
нормально. Исходя из этого, мною были сделаны некоторые расчеты:

При максимальной пропускной способности входящего спутникового канала
в 1024 Кбит\с и размере пакета в 1500 байт, пропускная способность канала
равна ~ 87 пакетов\сек. В это же время, для канала в 128 Кбит\с пропускная
способность равна ~ 11 пакетов\сек. Гипотетическая разница, при условии что на
юзера будет идти поток в 1024 Кбит\с, а отдаваться только 128 Кбит\с, может
составить 76 пакетов\сек.

Итого, опытным путем установлено:

- (было) при дефолтной очереди в 50 пакетов на pipe 128 Кбит\с потери 10%
- при размере очереди = разница*2 = 150 пакетов потери 2%
- (стало) при размере очереди = разница*3 = 230 пакетов потери 0%

Серфинг не страдает, задержек нет. Закачка идет на скорости шейпера, потерь
нет. Вроде бы, результат достигнут. Сегодня\завтра буду наблюдать.

EG> А если хочешь и рыбку съесть, и потерь иметь минимум, то читай-ка ты
EG> про RED/GRED на unixfaq.ru и делай не просто pipe, а queue/pipe с
EG> gred. Рекомендую делать w_q=0.002, max_p=0.1, min=q/10, max=3*min, где
EG> q - длина очереди, q=20 для скоростей меньше 100Kbit/s, q=30 для
EG> скоростей от 100 до 300Kbit/s и q=50 для скоростей 512Kbit/s и
EG> выше. Hу или что-то в этом роде.

Пробовал этот вариант.
Hа pipe 128 Кбит\с было выставлено gred 0.002/3/6/0.1 В итоге - огромные
потери, т.к. канал практически все время работал на скорости пакетов намного
больше чем max_th*2. Изменение параметров до gred 0.002/50/150/0.1 не влияло на
результат, т.к. дефолтный размер очереди в 50 пакетов часто переполнялся и gred
не имел никакого действия. Хотя, может быть я чего-то не так понял и сделал...

EG> Eugene

Kir

unread,
Feb 28, 2007, 6:47:46 AM2/28/07
to

Решил разделить локальную сеть на две подсети.
Схема

10.0.0.0/22 -> Vlan 1 port 1
-> Planet WGSD-1020 port3 tag -> port1 Dlink DGS-1016T
10.0.4.0/22 -> Vlan 2 port 2 (only port based vlan)
|
| port2
FreeBSD 5.5

Вопрос

Пропустит ли Dlink DGS-1016T сквозь себя вланы 802.1Q
Или лучше все свичи настроить на port based vlan, но как тогда FreeBSD
настроить?

Я понимаю что туповат в этих вланах, но направьте на путь истиный. Как
лучше сделать в данной схеме, чтобы связь сети 10.0.0.0/24 к
10.0.0.4/22 был только через сервер, что бы я мог c помощью ipfw зарезать
ненужный трафик.

--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru

Eugene Grosbein

unread,
Feb 28, 2007, 11:19:34 AM2/28/07
to
28 фев 2007, среда, в 14:47 KRAST, Kir написал(а):

K> Решил разделить локальную сеть на две подсети.
K> Схема
K> 10.0.0.0/22 -> Vlan 1 port 1 -> Planet WGSD-1020 port3 tag -> port1 Dlink
K> DGS-1016T
K> 10.0.4.0/22 -> Vlan 2 port 2 (only port based vlan)
K> |
K> | port2
K> FreeBSD 5.5
K> Вопрос
K> Пропустит ли Dlink DGS-1016T сквозь себя вланы 802.1Q

Это к техподдержке D-Link. Может, и пропустит.

K> Или лучше все свичи настроить на port based vlan, но как тогда FreeBSD
K> настроить?

Откуда информация, что DGS-1016T поддерживает port based vlan?

Eugene
--
Пробуй, но не смей глотать

Kir

unread,
Feb 28, 2007, 12:23:51 PM2/28/07
to

Прогнал DGS-1216T и в нем есть 802.1Q

Eugene Grosbein

unread,
Feb 28, 2007, 5:07:26 PM2/28/07
to
28 фев 2007, среда, в 20:23 KRAST, Kir написал(а):

>> Откуда информация, что DGS-1016T поддерживает port based vlan?

K> Прогнал DGS-1216T и в нем есть 802.1Q

Делай все на тегах. Простая и прозрачная схема.

Eugene
--
Что делают там, где воруют и сам царь, и его советник, и главный жрец? (Артха)

0 new messages