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

Как мы 10Gigabit на Linux роутере маршрутизировали

Единственное - quantum стоит 3000.
У нас quantum для каждого класса рассчитывается из расчёта 1/10 от ceil, но не меньше 10000. И всё равно это не помогает преодолеть 2.5 Гига. Всё упирается в _spin_lock.

 

Интересно, хоть кто-нибудь смог на HTB и MTU в 1500 вытянуть больше 2.5 Gbps?

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

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


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

правила линейные или хеши?
Хэш, причем одноуровневый. Т.е. в каждой таблице при самом плохом раскладе может быть 64 фильтра u32. Если нагрузка вырастет ощутимо - тогда будем делать хэш сложнее.
И всё равно это не помогает преодолеть 2.5 Гига
Интересно, неужели между 2,3 и 2,6 будет такая смертельная разница? Я вот думаю затестить... Воткнуть в бордюр генератор трафа какой-нибудь (какой, кстати?), и попробовать вдуть паразитного трафика на юзеров, для оценки предела. Но это не раньше следующей недели, пока и так занятий хватает.

 

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


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

Очень жаль, но, похоже, тема заглохла.

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


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

А что мусолить? Решение у когото вполне себе работает, юзеры довольны, им писать нечего. У кого-то не работает, тем тем более писать нечего.

не помогает преодолеть 2.5 Гига. Всё упирается в _spin_lock.
На 2,5 гигах спинлок занимает около 24%, в моем случае. При этом на 1 гигабите это 14%.

 

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


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

На 2,5 гигах спинлок занимает около 24%, в моем случае. При этом на 1 гигабите это 14%.

А получалось ли разогнать HTB хотя бы до 3 гиг?

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


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

Единственное - quantum стоит 3000.
У нас quantum для каждого класса рассчитывается из расчёта 1/10 от ceil, но не меньше 10000. И всё равно это не помогает преодолеть 2.5 Гига. Всё упирается в _spin_lock.

 

Интересно, хоть кто-нибудь смог на HTB и MTU в 1500 вытянуть больше 2.5 Gbps?

не замечали у себя в логах что-нибудь типа?:

Dec 24 19:40:42 mercury kernel: ix0: Ethernet address: 00:1b:21:0e:89:43

Dec 24 19:40:42 mercury kernel: ix0: PCI Express Bus: Speed 2.5Gb/s Width x1

Dec 24 19:40:42 mercury kernel: ix0: PCI-Express bandwidth available for this card

Dec 24 19:40:42 mercury kernel: ix0: For optimal performance a x8 PCIE, or x4 PCIE 2 slot is required.

 

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


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

не замечали у себя в логах что-нибудь типа?:

Dec 24 19:40:42 mercury kernel: ix0: Ethernet address: 00:1b:21:0e:89:43

Dec 24 19:40:42 mercury kernel: ix0: PCI Express Bus: Speed 2.5Gb/s Width x1

Dec 24 19:40:42 mercury kernel: ix0: PCI-Express bandwidth available for this card

Dec 24 19:40:42 mercury kernel: ix0: For optimal performance a x8 PCIE, or x4 PCIE 2 slot is required.

Нет, шины хватает:

 

>dmesg | grep Express:
ixgbe: eth0: ixgbe_probe: (PCI Express:2.5Gb/s:Width x8) 00:30:48:94:61:54
ixgbe: eth1: ixgbe_probe: (PCI Express:2.5Gb/s:Width x8) 00:30:48:94:61:55

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


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

а если burst 10000 cburst 10000 ?

Поставили расчёт burst и cburst как и для quantum (в зависимости от ceil). Количество int уменьшилось практически до значений по-умолчанию в драйвере ixgbe. Количество csw уменьшилось в 2 раза. Загрузка CPU и процент _spin_lock в perf top практически не изменились. Посмотрим, поможет ли это достигнуть хотя бы 2.6 Гиг.

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


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

в зависимости от ceil
Кстати, заметил еще одну вещь. Судя по вашим словам, у вас реализовано заимствование между классами, т.е. иерархия вида

Root
CommonClass
UserClass UserClass ...

Мы когда такое юзали (давно уже, и на гигабитах), тоже упирались быстро в процессор. А потом подсмотрели тут на форуме у... photon, если память не изменяет, решение без использования CommonClass и заимствования. Т.е. ceil=rate и юзерские классы приткнуты непосредственно в Root. Работает отменно и очень точно. Quantum сейчас стоит по умолчанию 1500, параметры burst и cburst вообще не задаем, используются дефолтные.

 

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


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

Join the conversation

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

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

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

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

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

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

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