Как стать автором
Обновить

Комментарии 21

почему бы просто не шейпнуть траффик?
это мысль ;) но 10-гигабитного шейпера под рукой не оказалось. btw, с помощью tx-rate-limit можно его сделать самому
/sbin/tc?
Спасибо большое, не знал. Ушёл читать :)
Есть такая штука — LARTC — крайне рекомендуется к прочтению для любого применения линуксов в сетях.
Насколько я понял из документации, tc привязывается к системному HZ, на нашей машинке это 250. То есть квант времени для tc —
это 4 миллисекунды. То есть, если мы хотим посылать больше 250 пакетов в секунду, пакеты будут посылаться пачками.

Например, если мы хотим ограничить выходной поток 100 Мбит/c и размер пакета у нас 1000 байт (= 8000 бит), то 250 раз в секунду будет послана пачка из 50 пакетов (100e6/8e3/HZ).

Получается, что от burst'ов мы средствами tc не избавимся.

Протестировали на описанной схеме: фиксируем overflow pkt.

btw, не написал в статье, как работает Transmit Rate Limiting, сейчас дополню

это смотря как его построить. давайте-ка ваш конфиг.
вы хотите сказать, что tc может гарантировать равномерное распределение пакетов во времени?
я не нашёл этого в документации…
если не ошибаюсь, параметр burst за это отвечает.
Да документация у tc просто «устрашающая»…
Почитайте тут, может поможет (кто-то у нас эту статью в вики положил когда с tc разбирался)…
Networking: Using Linux Traffic Control for Fun and Profit Loss Prevention
команду пришлю в понедельник
мы вот такой строкой тестировали

tc qdisc add dev eth4 root tbf rate 500mbit burst 2000 latency 1us

мне кажется, что в ней чего-то не хватает, если честно.
буду разбираться дальше.
cходу скажу только, что буфер (burst) маловат. пруф из документашки:

For 10mbit/s on Intel, you need at least 10kbyte buffer if you want to reach your configured rate
Почему бы просто не перевести карту на скорость 1G?
В этом случае линк будет 1G?
Конечно)
Судя по даташиту сетевой карты, она поддерживает 100M/1G/10G.
Какой выставим — такая скорость и будет.
MX не поддерживает меньше 10G, к сожалению
А если поставить коммутатор с 1G и 10G портами?
отличное решение… нам почему-то в голову не пришло, хотя 10-гигабитных коммутаторов — хоть отбавляй.
Но уж очень хотелось поковыряться с intel'овской карточкой :)

Как тогда работает второй линк MX на 1G?
У MX в данной прошивке два порта 10G работают на вход, и два порта 1G на выход. Закладывать гибкую коммутацию в него не стали, так как сожрёт ресурсы ПЛИС.

Вообще, поскольку прошивка в наших руках, могли сварганить любую комбинацию, в том числе и 1Г-1Г, но в этом случае
мы бы тестировали уже другую прошивку, а не ту, которая уходит в production.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий