Перейти к содержимому
Калькуляторы

FreeBSD 6.4 net.inet.ip.dummynet.io_fast

Из релиз нотесов:

The dummynet(4) subsystem now supports fast mode operation which allows certain packets to bypass the dummynet scheduler. This can achieve lower latency and lower overhead when the packet flow is under the pipe bandwidth, and eliminate recursion in the subsystem. The new sysctl variable net.inet.ip.dummynet.io_fast has been added to enable this feature.

 

Как это работает кто-нить разбирался?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что не понятно-то? Идея в том, чтобы пакеты проходящие через dummynet могли fastforward'ится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что не понятно-то? Идея в том, чтобы пакеты проходящие через dummynet могли fastforward'ится.
Как-то первая фраза более похожа на "Думминет теперь поддерживает режим быстрой обработки при которой определенные пакеты не задерживаютя для обработки думминетом".

Хотя мож мы об одном и том же говорим. Но меня интересует не риторика, а технические данные и реализация.

 

Типа при правилах

---

---

пакеты удовлетворяющие условиям ххх будут пролетать не задерживаясь. Конкретный пример, пожалуйста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

when the packet flow is under the pipe bandwidth

 

Написано же. Если поток не доходит до потолка, механизм шейпирования вобще не применяется. Я так понял.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Угу, похоже на правду. Ток тогда получается что фенька работает если "клиент" свой канал недогружает, что встречается редко, но игрокам самое то.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У нас с четырьмя мегабитами частенько недогружают. Поработать бы сутки с нулевым значением и сутки с единичкой, сравнить статистику.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

net.inet.ip.dummynet.io_fast=0

57.03% dummynet

 

net.inet.ip.dummynet.io_fast=1

6.84% dummynet

Изменено пользователем 31337Ghost

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А с пингами как? У меня пинг растет при его включении в 2 раза гдето

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поставь яндеховые дрова наконец. Уже ж в другой теме тебе писали.

У тебя на каждую сетевуху по одному ядру и они на 100% нагружены, а остальные ядра и до 50% недобирают.

Какие там еще пинги при перегруженом проце ??

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поставь яндеховые дрова наконец. Уже ж в другой теме тебе писали.

У тебя на каждую сетевуху по одному ядру и они на 100% нагружены, а остальные ядра и до 50% недобирают.

Какие там еще пинги при перегруженом проце ??

А яндексовые дрова под 7.2|8.0 есть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Под 7.2 есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Под 7.2 есть.

О! URL?

(под бой литавров) http://people.yandex-team.ru/~wawa/

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

иии? помогли дрова от яндекса?

Руки не дошли. Пока играю в поллинг. Вот ужо наиграюсь -- проверю. А что в этих дровах интересного кроме разброса ниточек по ядрам?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня на 8.0-STABLE-201005 amd64 при:

net.inet.ip.dummynet.io_fast: 1

Счётчики показывают:

net.inet.ip.dummynet.io_pkt_drop: 106886552

net.inet.ip.dummynet.io_pkt_fast: 0

net.inet.ip.dummynet.io_pkt: 5210146253

Получается у меня вообще никто мимо шейпера не бегает ? Полосы от 1 Мбита и до 16 Мбит. Не думаю, что все полосы забиты до краёв. Параметр применяем ещё с 7.0, если не изменяет память, и никогда счётчик не был равен 0.

 

upd: на другом шейпере с FreeBSD 7.2-STABLE-200906 точно такая же петрушка :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

upd: на другом шейпере с FreeBSD 7.2-STABLE-200906 точно такая же петрушка :(

 

FreeBSD 7.3-STABLE #0:

net.inet.ip.dummynet.io_pkt_drop: 14558307

net.inet.ip.dummynet.io_pkt_fast: 139517436

net.inet.ip.dummynet.io_pkt: 923458709

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

upd: на другом шейпере с FreeBSD 7.2-STABLE-200906 точно такая же петрушка :(

 

FreeBSD 7.3-STABLE #0:

net.inet.ip.dummynet.io_pkt_drop: 14558307

net.inet.ip.dummynet.io_pkt_fast: 139517436

net.inet.ip.dummynet.io_pkt: 923458709

Хм... может мы где в правилах запутались :(

Если не сложно, киньте кусочек правил для одной трубы ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если я правильно понял, то fast = ip_fastfwd - оно гонит пакеты прямиком в if_output, не заворачивая в netisr очередь и короче говоря много доп/лишней работы не делая, но пакеты не все могут идти через фаст, оно не работает для пакетов с опциями, броадкаста, мультикаста, пакетов от/к этому хосту.

Для все этих случаев пакеты уходят на ip_input, откуда после обработки уходит в netisr, который видимо вызывает ip_output и уже он отправляет в if_output.

 

 

net.inet.ip.dummynet.io_fast: 1
Полагаю кроме этого нужно в принципе включить фастфорвадинг:

net.inet.ip.fastforwarding: 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А почему бы тогда не сделать шейпер мостом, чтобы не было необходимости в маршрутизации?

Изменено пользователем photon

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А почему бы тогда не сделать шейпер мостом, чтобы не было необходимости в маршрутизации?

И как производительность в варианте с мостом??

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Должна быть выше, по идее, т.к. нет маршрутизации. Видел у знакомого мост-шейпер на 8-процессорной машине с FreeBSD, держит по 450 Мбит/с в обе стороны, пакетрейт около 100 kpps, загруженность процессоров менее 20%.

Изменено пользователем photon

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Должна быть выше, по идее, т.к. нет маршрутизации. Видел у знакомого мост-шейпер на 8-процессорной машине с FreeBSD, держит по 450 Мбит/с в обе стороны, пакетрейт около 100 kpps, загруженность процессоров менее 20%.

А правда, что аналог на линуксе меньше ресурсов требует (tc htb) ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А правда, что аналог на линуксе меньше ресурсов требует (tc htb) ?

Я бы так не сказал. При должном умении и правильном железе, везде можно добиться шейпинга на аппаратных скоростях. Однако, dummynet умеет решать лишь несколько определенных задач, в то время как QoS-подсистему в Linux можно настроить как угодно. Недостаток линуксового решения в том, что для него намного сложнее генерировать правила.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.