LINUX.ORG.RU

Скорость «маршрутизации»

 


0

3

Доброго времени суток!

Помогите решить вопрос :)

Есть PC (железо не серверное) Установлены две гиговые сетевые карты pci-e Запущен NAT Два ядра, память 7 гб

При «маршрутизации» скорость упирается ровно в суммарные 300 мбит/с, прерывания раскиданы по ядрам. ядра загружены +- 50%

Не могу понять причину такого «Потолка» :( Спасибо.


Ответ на: комментарий от LynxChaus

Сейчас стоят не фонтан, на чипе реалтек. Но если бы при 300 мбит/с загрузка процессоров была 100% вопросов бы не было.

pol88
() автор топика
Ответ на: комментарий от CaveRat

Есть. Карта что смотрит в локалку RX packets 10145978816 bytes 5336632050129 (4.8 TiB) RX errors 0 dropped 1 overruns 0 frame 0

Карта что смотрит в мир RX packets 14780296744 bytes 17110674699718 (15.5 TiB) RX errors 0 dropped 3493 overruns 0 frame 0

На фоне общего трафика это мелочь.

Правде не обращал внимания когда эти дропы появляются. Возможно какраз когда упираемся в 300 мбит/с. Понаблюдаю.

pol88
() автор топика
Ответ на: комментарий от CaveRat

Согласен.

Искусственно трафик не генерировал. Канал в инет 500 мбит. Когда качаю с самого PC например с ftp://ftp.yandex.ru все отрабатывает на 100% если через него, больше 300 не идет.

В общем прихожу к выводу, что нужно снимать PC и ставить что-то железное :)))

pol88
() автор топика
Ответ на: комментарий от anonymous

Ну не на столько у меня все плохо с соображалкой :)))

pol88
() автор топика
Ответ на: комментарий от pol88

Что у тебя за демон маршрутизации, и какой у него приоритет?

В общем прихожу к выводу, что нужно снимать PC и ставить что-то железное :)))

Cisco ASR, ога.

Все SOHO-раутеры - программные.

CaveRat ★★
()
Ответ на: комментарий от CaveRat

я смотрю в сторону Cisco 6500 хоть это и не роутер :) но с нужными модулями с моими задачами справится

pol88
() автор топика

ну, выкладывай top с детализацией по ядрам во время роутинга в полке, погадаем по фотографии

anonymous
()
Ответ на: комментарий от CaveRat

Я что-то не знаю о последний тенденциях в проектировании сетей?

Стильно, модно, молодежно.

Этак ТС скоро до микротиков дойдет.

LynxChaus
()
Ответ на: комментарий от CaveRat

Что у тебя за демон маршрутизации, и какой у него приоритет?

Этот «демон» называется linux kernel вообще-то. А то, что маршруты строит (quagga, bird, xorp), если оно там есть, то это к деру не относится.

AS ★★★★★
()
Ответ на: комментарий от LynxChaus

Нет! До микротика не дойдем! :) По мне так лучше PC с Linux чем микротик )

И тему можно закрыть! Виноват я сам.

Всетаки упираемся в загрузку проца!

Прошу прощение за этот спам :(((

pol88
() автор топика
Ответ на: комментарий от pol88

Всетаки упираемся в загрузку проца!

Тогда, если будете думать в сторону PC, то надо смотреть на сетевые карты с несколькими очередями. А то получится, что ядер 8 или больше, а сетевую карту можно только на одно прерывание зацепить. А у современных PC уже не встречается такое (мне, по крайней мере, давно не попадалось), чтобы одно прерывание на несколько ядер развесить было можно.

А у Микротика, кстати, прикольные железки есть - CCR. Выглядят красиво, одну подержал даже. Но не сильно долго, на скорость не проверял особо.

AS ★★★★★
()
Ответ на: комментарий от pol88

Нет! До микротика не дойдем! :) По мне так лучше PC с Linux чем микротик )

Ты неправ, у микротика есть интересные и недорогие железки, лучше и дешевле чем колхоз из писюка, но это неважно. Главное чтобы тебе нравилось, лол

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 1)
Ответ на: комментарий от Jameson

Согласен, на вкус и цвет...

Но микротик меня не впечатлил! :)

Всем спасибо за участие!

pol88
() автор топика
Ответ на: комментарий от pol88

У тебя мульён правил и атом в качестве процессора ?

А что за ядро ?

А что за трафик ? 64-байтные пакеты ?

vel ★★★★★
()
Ответ на: комментарий от vel

Да разобрались уже! :)

Нужно ставить или железное решение или многопоточные серверные сетевки и многоядерный процессор :)

А трафик настоящий, рабочий :)

pol88
() автор топика
Ответ на: комментарий от pol88

или многопоточные серверные сетевки

Кстати, Intel Corporation 82574L Gigabit Network Connection десктопная, но две очереди имеет. Может и сойдёт где. Выглядит это как-то так:

           CPU0       CPU1
 31: 1349761586          0   PCI-MSI-edge      eth2-rx-0
 32:         88 1496696013   PCI-MSI-edge      eth2-tx-0
 33:          2          0   PCI-MSI-edge      eth2
Серверная 82576, правда, имеет их восемь.

AS ★★★★★
()
Ответ на: комментарий от pol88

Всетаки упираемся в загрузку проца!

Так во что именно упираемся ? В число прерываний или сложную обработку трафика (NAT не в счет) ? mpstat хорошо показывает эти моменты.

Возможно нормальна сетевая карта с offload и interrupt moderation на современном ядре ( не 2.6) реально изменит ситуацию.

vel ★★★★★
()
Ответ на: комментарий от vel

Когда подходим к суммарному трафику 300 мбит, ядро грузится почти до 100%. ничего сложного нет. NAT и все.

pol88
() автор топика
Ответ на: комментарий от Jameson

дороже в разы в общем-то. ихние вундервафли CCR1036 к примеру затыкаются на 4-5 гигабитах траффика - это где-то уровень тазика на i3. цена на который в несколько раз ниже.

а уж стабильность софта - это отдельная печальная пестня...

NiTr0 ★★★★★
()
Ответ на: комментарий от pol88

300 мбит вообще-то пронатит какой-то пентиум 3, не особо напрягаясь...

тут либо с сетевухами что-то сильно не то, либо 100500 правилл в файрволе.

NiTr0 ★★★★★
()
Ответ на: комментарий от AS

та не такие уж и прикольные, у меня на bgp fv сессии из двух ядер, тупо на 100 % жрет только одно ядро. Как не странно на всех железках там вот и на CCR https://www.youtube.com/watch?v=XJ7qQCJI8pA
Возможно х86 решит вопрос, надо будет проверить

Ien_Shepard ★★★
()
Ответ на: комментарий от vasya_pupkin

Все! Разобрался! Тему можно считать закрытой!

Нарыл,что в системе была запущена такая хрень как «irqbalance» Которая, якобы, была призвана равномерно распределять прерывания по ядрам и она вешала все сетевки то на одно ядро то на другое.

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

Сейчас все шикарно работает! Всем спасибо!!!

pol88
() автор топика
Ответ на: комментарий от pol88

Нарыл,что в системе была запущена такая хрень как «irqbalance»
Которая, якобы, была призвана равномерно распределять прерывания
по ядрам и она вешала все сетевки то на одно ядро то на другое.

В общем-то, не якобы, а вполне развешивает. Там есть разная логика работы, ориентированная на разное применение. При этом, ручное развешивание части прерываний может дать лучший эффект, чем автоматика. Там есть параметр --banirq, посредством которого можно задать список прерываний, которые irqbalance не должен трогать. Правда, прерывания могут меняться, потому надо как-то так на старте делать:

ETH1=`cat /proc/interrupts|egrep "eth1"|awk '{ print $1 }'| sed "s/://"`
irqbalance --banirq=$ETH1

Ещё есть вариант с --oneshot.

AS ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.