2017-12-22 Networking-Blog

Blog

Беда не приходит одна - эпопея продолжается😊 Скоро переплюнем сантабарбару

После вот этого когда кризис вроде бы отступил, появилось время подумать😊

После осознания того, что с 4 прерываниями на карту удается задействовать только 8 ядре из 12 в голову закралась мысль что нада больше прерываний то😊 Три маршрутизатора справлялись, однако резерва то нет и при выходе из строя хотябы одного будет жопа.

Соответственно нада другие сетевые - купить - хуйвам сказала Танюха, фсе бабло ушло на водку и питарды ибо корпоратив завтра😊

И начались поиски подходящих сетевых путем разгребания всякого хлама ибо чтото гдето такое вроде как было, да и за почти 20 лет работы не могло такого быть чтоп чтото гдето не валялось подходящего, тока где... и вот они - 4 двухпортовых BCM5709 как скуста, часа через пол после начала поисков😊

Чувак там ночью проводил работы и заодно и их воткнул😊 Как итог - стало лучше, но, тоже не без косяков:

 
#тут у нас какаято блять брадкомовская магия - combined оно говорит что не умеет и при попытке дать шлет нахуй,
#при rx 6 tx 6 получается 6 прерываний в сумме, первое из которых не работает вообще - тоесть тупо не прерывается
#и не дает никакой нагрузки, при rx 6 tx 1 получется тоже 6 в сумме но при этом вроде бы нормально работающих.
#че ето за херня яхз но пока так.
#
# upd - нихуя не нормально работающих, первое почемуто всегда не догружено причем значительно, возможно это tx,
# хотя иногда оно всетаки дает нагрузку как то всплесками. судя по acct2  rx 6 tx 6 combined 6 дает ту же картину.
# нада блять будет попробовать 7+1, и опять ебаца как их распределить чтоп задействовать ядра полностью, правда че
# будет с теми всплесками зх.

#ethtool -L enp1s0f0 rx 6 tx 6 combined 6
ethtool -L enp1s0f0 rx 6 tx 1
#ethtool -L enp1s0f0 combined 6

#ethtool -L enp3s0f0 rx 6 tx 6 combined 6
ethtool -L enp3s0f0 rx 6 tx 1.
#ethtool -L enp3s0f0 combined 6

#ethtool -L enp1s0f1 rx 6 tx 6 combined 6
ethtool -L enp1s0f1 rx 6 tx 1.
#ethtool -L enp1s0f1 combined 6

#ethtool -L enp3s0f1 rx 6 tx 6 combined 6
ethtool -L enp3s0f1 rx 6 tx 1.
#ethtool -L enp3s0f1 combined 6

Это мой коментарий с куском скрипта разруливающего прерывания. тоесть теперь мы можем задействовать 10 ядер из 12 - прогресс как говорица на лицо😊

При этом по названию прерываний в /proc/interrupt tx от rx не отличить, ибо обзываются они просто eth-0/1/2/3 нуитд, примерно так:

acct1 ~ # cat /proc/interrupts |grep enp1s0f0 
 50:  446973042          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI 524288-edge      enp1s0f0-0
 51:         91  344667423          0          0          0          0          0          0          0          0          0          0   PCI-MSI 524289-edge      enp1s0f0-1
 52:         85          0  352724036          0          0          0          0          0          0          0          0          0   PCI-MSI 524290-edge      enp1s0f0-2
 53:         60          0          0  363097349          0          0          0          0          0          0          0          0   PCI-MSI 524291-edge      enp1s0f0-3
 54:        129          0          0          0  344874594          0          0          0          0          0          0          0   PCI-MSI 524292-edge      enp1s0f0-4
 74:         86          0          0          0          0  358027569          0          0          0          0          0          0   PCI-MSI 524293-edge      enp1s0f0-5
acct1 ~ # 

и кто из них кто хз, так же не понятно почему при tx 6 rx 6 их всего 6 когда по логике должно быть 12. Вобщем прерываюца эти бродкомы как то через жопу😊

При этом, BCM5720 вполне себе нормально все рисует и количество прерываний тоже сходица, как указали rx 4 tx 1 так и есть, 5 штук суммарно:

acct0 ~ # cat /proc/interrupts |grep enp1s0f0 
 50:  206892049          0          0          0          0          0          0          0          0          0          0          0   PCI-MSI 524288-edge      enp1s0f0-tx-0
 51:          3  134202632          0          0          0          0          0          0          0          0          0          0   PCI-MSI 524289-edge      enp1s0f0-rx-1
 52:          2          0  130895851          0          0          0          0          0          0          0          0          0   PCI-MSI 524290-edge      enp1s0f0-rx-2
 53:          2          0          0  126258675          0          0          0          0          0          0          0          0   PCI-MSI 524291-edge      enp1s0f0-rx-3
 54:          2          0          0          0  132045015          0          0          0          0          0          0          0   PCI-MSI 524292-edge      enp1s0f0-rx-4
acct0 ~ # 

только у BCM5720 драйвер tg3 а у BCM5709 bnx2.

Однако это еще не все.

На Танюхино хуйвам, вечером в ЧНН один из маршрутизаторов сказал свое жесткое хуйвам всем нам, зависнув в час пик, после перезагрузки повторил это снова через пару минут, контрольный так сказать😊 В пятницу вечером, перед корпоративом - знает сцуко когда говорить😊

Оставшиеся 2, практически на пределе, но тянут нагрузку, rtt изредко дергается ms на 10-20, но потерь я пока не фиксирую, так что вроде все нормально с этим. А всего то задействовали 4 дополнительные очереди.

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

Так что, продолжение следует😊