sid1333 Posted November 8, 2009 Posted November 8, 2009 Всем доброго времени суток! Имеется шейпер, обсуждаемый когда-то в этой теме: http://forum.nag.ru/forum/index.php?showtopic=49336 Платформа Intel sr1630bc на 2х xeon 5520. Установлена pro/1000 PT dual, em0 - к пограничнику, em1 в сеть. Сервер занимается маршрутизацией - 0.0.0.0 в ядро по ospf, шейпингом и натингом :) На данный момент нагрузка по сетевым приближается к 80%. По процессору - загружены на 50% только первые 7 из 16 виртуальных. В ЧНН нагрузка чуть выше, чем приведённая shaper-0 16:35:52 ~ # netstat -w1d 205097 0 159597690 203601 0 160596994 0 203944 0 159027946 202248 0 160017831 0 206316 0 160121798 204564 0 161361380 0 205305 0 159661574 203407 0 160274076 0 203136 0 160762659 201302 0 159682926 0 205133 0 160831585 202442 0 158285687 0 204073 0 159997438 201657 0 157972303 0 208393 0 162726945 205767 0 160343248 0 205144 0 160977995 202836 0 158564620 0 205161 0 161568061 202235 0 159337878 0 207557 0 160559455 205161 0 158634721 0 202014 0 159948872 199521 0 157821071 0 202879 0 161294195 200446 0 160487068 0 Понятно, что необходимо или менять pro/1000 dual на pro/1000 quad, или использовать 2 встроенные в мать сетевые. Сам склоняюсь к 1 варианту, ибо по спецификации одна из встроенных в мать сетевых вроде как подключена через pci шину. 2ой вопрос - это как быть с 4 новыми портами: - оставаться на роутинге, не организовывая lagg интерфейсы, пытаясь роутинг оставить как есть. - оставаться на роутинге, организовывая lagg (2 сетевые к пограничнику, 2 - в ядро) - немного изменить дизайн и перейти на bridge'ывание 2х lagg интерфейсов (2 сетевые к пограничнику, 2 - в ядро). Ибо по противоречивым сведениями bridge производительнее маршрутизации. Прошу совета, как лучше поступить, особенно с 4 имеющимися/новыми портами Заранее спасибо. Вставить ник Quote
Giga-Byte Posted November 8, 2009 Posted November 8, 2009 дык разнесите задачи по разным машинам Вставить ник Quote
Giga-Byte Posted November 8, 2009 Posted November 8, 2009 (edited) пы.сы. сколько трафика бегает через этот роутер? тоесть сколько реальная полоса аплинка а не эти чудо-мега-цифры Edited November 8, 2009 by Giga-Byte Вставить ник Quote
sid1333 Posted November 8, 2009 Author Posted November 8, 2009 дык разнесите задачи по разным машинамК сожалению, 2 машины это геморно и дороже, чем одна сетёвка на 4 порта. К тому-же роутер как мне кажется себя ещё далеко не исчепал. пы.сы.сколько трафика бегает через этот роутер? тоесть сколько реальная полоса аплинка а не эти чудо-мега-цифры 800 Мбит/с входящего с интернета на шейпер прилетает. Вставить ник Quote
Giga-Byte Posted November 9, 2009 Posted November 9, 2009 дык разнесите задачи по разным машинамК сожалению, 2 машины это геморно и дороже, чем одна сетёвка на 4 порта. К тому-же роутер как мне кажется себя ещё далеко не исчепал. думаю, стоит попробовать, но лучше разнести шейп от ната и смотреть где и в чём затык пы.сы.сколько трафика бегает через этот роутер? тоесть сколько реальная полоса аплинка а не эти чудо-мега-цифры 800 Мбит/с входящего с интернета на шейпер прилетает. такой трафик только на брасах, с rate-limit ng_car, поэтому ничего советовать не осмелюсь. Вставить ник Quote
Dyr Posted November 9, 2009 Posted November 9, 2009 А драйвера яндексовские? Можно увидеть top -aSH? Вставить ник Quote
sid1333 Posted November 9, 2009 Author Posted November 9, 2009 А драйвера яндексовские? Можно увидеть top -aSH?Да. Но трафика сейчас в 1.5 раза меньше, чем в ЧННКак видно, пол-компа просто простаивает :( last pid: 53112; load averages: 2.14, 1.91, 1.55 up 31+09:10:22 14:43:03 102 processes: 18 running, 71 sleeping, 13 waiting CPU: 0.0% user, 0.0% nice, 7.4% system, 0.0% interrupt, 92.6% idle Mem: 91M Active, 214M Inact, 497M Wired, 216K Cache, 208M Buf, 1119M Free Swap: PID USERNAME PRI NICE SIZE RES STATE C TIME CPU COMMAND 11 root 171 ki31 0K 16K CPU14 e 746.9H 100.00% [idle: cpu14] 12 root 171 ki31 0K 16K CPU13 d 746.7H 100.00% [idle: cpu13] 15 root 171 ki31 0K 16K CPU10 a 744.6H 100.00% [idle: cpu10] 16 root 171 ki31 0K 16K CPU9 9 744.1H 100.00% [idle: cpu9] 18 root 171 ki31 0K 16K CPU7 7 740.4H 100.00% [idle: cpu7] 25 root 171 ki31 0K 16K CPU0 0 639.4H 100.00% [idle: cpu0] 14 root 171 ki31 0K 16K CPU11 b 745.3H 99.27% [idle: cpu11] 10 root 171 ki31 0K 16K CPU15 f 747.5H 99.17% [idle: cpu15] 17 root 171 ki31 0K 16K CPU8 8 743.3H 99.17% [idle: cpu8] 13 root 171 ki31 0K 16K CPU12 c 746.7H 98.97% [idle: cpu12] 20 root 171 ki31 0K 16K CPU5 5 671.1H 87.89% [idle: cpu5] 19 root 171 ki31 0K 16K RUN 6 675.4H 86.38% [idle: cpu6] 23 root 171 ki31 0K 16K RUN 2 663.8H 86.18% [idle: cpu2] 24 root 171 ki31 0K 16K CPU1 1 664.5H 84.96% [idle: cpu1] 22 root 171 ki31 0K 16K CPU3 3 669.1H 84.77% [idle: cpu3] 21 root 171 ki31 0K 16K CPU4 4 667.4H 82.28% [idle: cpu4] 59 root 43 - 0K 16K WAIT 1 83.7H 20.07% [em1_rx_kthread_0] 60 root 43 - 0K 16K WAIT 2 79.7H 19.68% [em1_rx_kthread_1] 64 root 43 - 0K 16K WAIT 5 78.1H 18.80% [em2_rx_kthread_1] 232 root 43 - 0K 16K WAIT 3 80.0H 18.65% [em1_rx_kthread_2] 219 root 43 - 0K 16K CPU6 6 72.9H 18.65% [em2_rx_kthread_2] 63 root 43 - 0K 16K WAIT 4 78.0H 17.68% [em2_rx_kthread_0] 27 root -32 - 0K 16K WAIT 7 449:51 0.29% [swi4: clock] 73 root -68 - 0K 16K - 0 105.2H 0.00% [dummynet] 58 root -68 - 0K 16K WAIT 0 547:17 0.00% [em1_txcleaner] 62 root -68 - 0K 16K WAIT 0 483:55 0.00% [em2_txcleaner] 40 root 44 - 0K 16K - b 89:53 0.00% [yarrow] 72 root 8 - 0K 16K pftm 3 68:16 0.00% [pfpurge] Вставить ник Quote
Dyr Posted November 9, 2009 Posted November 9, 2009 Ну если не принимать в расчёт отсутствие ЧНН, то всё выглядит весьма прилично. Кстати, увеличение rx_kthreads вроде должно помочь разбросать обработку сетевух на ещё большее количество ядер. P.S. Кстати, очень интересный документ у Интела нашёл, который помог мне лучше понять разницу между таймерами в яндексовских драйверах. Рекомендую к прочтению: Interrupt Moderation Using Intel GbE Controllers Вставить ник Quote
sid1333 Posted November 9, 2009 Author Posted November 9, 2009 Ну если не принимать в расчёт отсутствие ЧНН, то всё выглядит весьма прилично.Кстати, увеличение rx_kthreads вроде должно помочь разбросать обработку сетевух на ещё большее количество ядер. P.S. Кстати, очень интересный документ у Интела нашёл, который помог мне лучше понять разницу между таймерами в яндексовских драйверах. Рекомендую к прочтению: Interrupt Moderation Using Intel GbE Controllers :-) При 3х rx_kthreads, суммарная нагрузка на ядра процессоров получается меньше, чем при 4х. По крайней мере у меня. Но изначально про высокую загрузку проца речи не шло. Она как-бы ещё терпит... Я хотел узнать, как эффективнее перейти к 4 сетевым картам, есть ли смысл в бридже и агрегации каналов? Вставить ник Quote
Giga-Byte Posted November 9, 2009 Posted November 9, 2009 Я хотел узнать, как эффективнее перейти к 4 сетевым картам, есть ли смысл в бридже и агрегации каналов? смотря что на другой стороне кабеля и какой метод балансировки, по мак адресу источника и если есть, то по мак адресу назначения и по IP если это бордер и если свич не умеет балансировку по IP, тогда от этой балансировки толку - ноль. Вставить ник Quote
TiFFolk Posted November 9, 2009 Posted November 9, 2009 С обоих сторон по одному маку, балансировать только по IP, если умеет свитч. В сети стоит свитч 3го уровня, можно передавать два одинаковых маршрута ему, для балансировки. Попробовать PBR между двумя линками. И почему не купить новые карточки третьего поколения от интел? Они, как написано, сделаны специально с расчетом на многопоточность. Вставить ник Quote
Dyr Posted November 10, 2009 Posted November 10, 2009 И почему не купить новые карточки третьего поколения от интел? Они, как написано, сделаны специально с расчетом на многопоточность.Это какие? Я хотел узнать, как эффективнее перейти к 4 сетевым картам, есть ли смысл в бридже и агрегации каналов?А, ну тады не знаю :)Lagg выглядит очень вкусным решением. Вставить ник Quote
Dm1try Posted November 10, 2009 Posted November 10, 2009 И почему не купить новые карточки третьего поколения от интел? Они, как написано, сделаны специально с расчетом на многопоточность.Это какие? Это сетевые карты на чипе 82576, 82575 - igb(4) Вставить ник Quote
make.kernel Posted November 10, 2009 Posted November 10, 2009 Это какие?pro 1000ET наверное имелось ввиду, они драйвером igb вроде как обрабатываются, а там многопоточность прямо интелом заложена. Хотелось бы попробовать, да не продают такие в Украине, хоть отпишитесь кто что видел Lagg выглядит очень вкусным решением. Кстати, феерично недавно получилось: ifconfig lagg0 create ifconfig lagg0 laggproto lacp laggport em0 laggport em1 ifconfig vlan10 create ifconfig vlan10 vlandev lagg0 vlan 10 и кернел паник, хорошо рядом с консолью был. Наткнулся на чей-то баг-репорт, фикс не проверял еще http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/132715 У меня 2 аплинка в разных вланах, в 2 карты сунул, в сторону дмз агрегировал еще 2 штуки - там вланов нет, получилось так: last pid: 34793; load averages: 0.48, 0.49, 0.49 82 processes: 8 running, 63 sleeping, 11 waiting CPU 0: 10.1% user, 0.0% nice, 3.1% system, 0.0% interrupt, 86.8% idle CPU 1: 0.8% user, 0.0% nice, 12.4% system, 0.0% interrupt, 86.8% idle CPU 2: 0.0% user, 0.0% nice, 18.6% system, 0.0% interrupt, 81.4% idle CPU 3: 0.0% user, 0.0% nice, 7.8% system, 0.0% interrupt, 92.2% idle Mem: 155M Active, 67M Inact, 143M Wired, 13M Buf, 1635M Free Swap: 2048M Total, 2048M Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME CPU COMMAND 14 root 1 171 ki31 0K 8K RUN 0 582:20 100.00% idle: cpu0 13 root 1 171 ki31 0K 8K RUN 1 545:26 86.47% idle: cpu1 11 root 1 171 ki31 0K 8K CPU3 3 550:54 85.64% idle: cpu3 12 root 1 171 ki31 0K 8K RUN 2 499:40 76.03% idle: cpu2 26 root 1 -68 - 0K 8K - 1 56:47 13.77% em3 taskq 23 root 1 -68 - 0K 8K - 2 60:20 13.57% em0 taskq 24 root 1 -68 - 0K 8K - 3 51:59 13.38% em1 taskq 27 root 1 -68 - 0K 8K CPU2 2 53:48 12.55% em4 taskq 947 root 1 44 0 125M 124M CPU0 0 5:12 0.83% bgpd ifconfig lagg1 lagg1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4> ether 00:15:17:71:f8:7a inet xxxx netmask 0xffffffe0 bro xxxxxx media: Ethernet autoselect status: active laggproto roundrobin laggport: em4 flags=4<ACTIVE> laggport: em3 flags=4<ACTIVE> border# netstat -I lagg1 -w 1 input (lagg1) output packets errs bytes packets errs bytes colls 72836 0 25344923 80540 0 73951096 0 72438 0 25264213 80369 0 74061459 0 74999 0 26506346 84047 0 76605787 0 75883 0 27840548 84385 0 76440572 0 74097 0 27157256 80127 0 72321352 0 72232 0 26491817 77793 0 71186034 0 70999 0 25945059 77995 0 70754759 0 72832 0 25415901 80794 0 73561824 0 74533 0 26371727 82640 0 76900177 0 73662 0 26639467 81296 0 73997402 0 72263 0 26119675 79246 0 71443311 0 Вставить ник Quote
Giga-Byte Posted November 11, 2009 Posted November 11, 2009 make.kernel, а на другом конце линка какая железка? Вставить ник Quote
make.kernel Posted November 11, 2009 Posted November 11, 2009 (edited) Длинк смартовая гигабитная мыльница, аж стыдно, из разряда "отключили flow control и забыли ip", со стороны свича ничего не делал. Почему работает - не знаю, но работает вот так: border# netstat -I lagg1 -w 1 input (lagg1) output packets errs bytes packets errs bytes colls 63562 0 23912904 70022 0 67833331 0 63110 0 23919037 68475 0 66978633 0 61044 0 24316779 65340 0 62239073 0 64300 0 24270941 68831 0 66591418 0 ^C border# netstat -I em3 -w 1 input (em3) output packets errs bytes packets errs bytes colls 32406 0 12209755 33825 0 32840111 0 30426 0 11629989 33868 0 32491273 0 30640 0 11398538 34272 0 33120692 0 ^C border# netstat -I em4 -w 1 input (em4) output packets errs bytes packets errs bytes colls 30723 0 11314771 34520 0 33498133 0 31673 0 11935815 33908 0 32706036 0 29735 0 11471434 33722 0 31528786 0 31940 0 12385549 34928 0 33256339 0 ^C border# ЧНН 110 кппс, нагрузка на ядра 20-25% на каждое, при росте трафика соотношение 50х50 на карточках сохраняется, больше гигабита не гонял. Теоретически оно работать НЕ должно без поддержки со стороны свича, скажу спасибо, если кто-то расскажет почему работает. Кто всетаки пробовал 1000ЕТ под бсд отпишитесь, а? Выглядит вкусно, если под сильный заказ - привезут через месяц, а смысл в них есть? А, да, em3 и 4 в одной 1000РТ драйвер последний с сайта интела. Edited November 11, 2009 by make.kernel Вставить ник Quote
Giga-Byte Posted November 11, 2009 Posted November 11, 2009 ЧНН 110 кппс, нагрузка на ядра 20-25% на каждое, при росте трафика соотношение 50х50 на карточках сохраняетсяИнтересно roundrobin работает...попробую на кошке грохнуть Port-Channel и нагрузить с roundrobin. Вставить ник Quote
make.kernel Posted November 11, 2009 Posted November 11, 2009 Интересно roundrobin работает...попробую на кошке грохнуть Port-Channel и нагрузить с roundrobin. Пакеты местами в потоке меняться будут, у меня раундробин из-за iq ссвича, вернее его отсутствия. Вставить ник Quote
kapa Posted November 11, 2009 Posted November 11, 2009 Кто всетаки пробовал 1000ЕТ под бсд отпишитесь, а? Выглядит вкусно, если под сильный заказ - привезут через месяц, а смысл в них есть? А, да, em3 и 4 в одной 1000РТ драйвер последний с сайта интела.Я пробовал - где-то уже писал тут.На бридже разница между em и igb на глаз не различима. Шейпим дамминетом порядка 600-700 Мегабит/с. Вставить ник Quote
TiFFolk Posted November 11, 2009 Posted November 11, 2009 Длинк смартовая гигабитная мыльница, аж стыдно, из разряда "отключили flow control и забыли ip", со стороны свича ничего не делал. Почему работает - не знаю, но работает вот так: border# netstat -I lagg1 -w 1 input (lagg1) output packets errs bytes packets errs bytes colls 63562 0 23912904 70022 0 67833331 0 63110 0 23919037 68475 0 66978633 0 61044 0 24316779 65340 0 62239073 0 64300 0 24270941 68831 0 66591418 0 ^C border# netstat -I em3 -w 1 input (em3) output packets errs bytes packets errs bytes colls 32406 0 12209755 33825 0 32840111 0 30426 0 11629989 33868 0 32491273 0 30640 0 11398538 34272 0 33120692 0 ^C border# netstat -I em4 -w 1 input (em4) output packets errs bytes packets errs bytes colls 30723 0 11314771 34520 0 33498133 0 31673 0 11935815 33908 0 32706036 0 29735 0 11471434 33722 0 31528786 0 31940 0 12385549 34928 0 33256339 0 ^C border# ЧНН 110 кппс, нагрузка на ядра 20-25% на каждое, при росте трафика соотношение 50х50 на карточках сохраняется, больше гигабита не гонял. Теоретически оно работать НЕ должно без поддержки со стороны свича, скажу спасибо, если кто-то расскажет почему работает. Кто всетаки пробовал 1000ЕТ под бсд отпишитесь, а? Выглядит вкусно, если под сильный заказ - привезут через месяц, а смысл в них есть? А, да, em3 и 4 в одной 1000РТ драйвер последний с сайта интела. Я заказал новую машинку, должны на той недели привезти. Core 7+Dual ET, сделаю обширные тесты разумеется. Вставить ник Quote
adeep Posted November 11, 2009 Posted November 11, 2009 pro 1000ET наверное имелось ввиду, они драйвером igb вроде как обрабатываются, а там многопоточность прямо интелом заложена. Хотелось бы попробовать, да не продают такие в Украине, хоть отпишитесь кто что виделесть в Украине такие: Intel 82575EB - это Supermicro на Intel-овском чипсете Supermicro Dual Port Gigabit Ethernet Adapter 2 ports 10/100/1000 Base-T, Gigabit Ethernet, PCI-E x4 (Gen 2), Intel 82575EB, PXE, iSCSI boot, VMDq, Windows, Linux, VMWare, FreeBSD, Netware, full size and LP brackets ~150$ Вставить ник Quote
SmalleR Posted November 12, 2009 Posted November 12, 2009 Нашли мне в Киеве интеловую E1G42ET на 576м, жду на тест. Вставить ник Quote
Bercut Posted June 11, 2010 Posted June 11, 2010 Нашли мне в Киеве интеловую E1G42ET на 576м, жду на тест. На днях собрали сервер на Core i7 + E1G42ET в роли роутера. В итоге клиенты получают по 15кб/с при закачке на сессию. Дрова собрали последнии 1.8.4. Случаем никто ли с таким не сталкивался? dev.igb.0.%desc: Intel® PRO/1000 Network Connection version - 1.8.4 dev.igb.0.%driver: igb Вставить ник Quote
Abram Posted June 11, 2010 Posted June 11, 2010 (edited) pro 1000ET наверное имелось ввиду, они драйвером igb вроде как обрабатываются, а там многопоточность прямо интелом заложена. Хотелось бы попробовать, да не продают такие в Украине, хоть отпишитесь кто что виделесть в Украине такие: Intel 82575EB - это Supermicro на Intel-овском чипсете Supermicro Dual Port Gigabit Ethernet Adapter 2 ports 10/100/1000 Base-T, Gigabit Ethernet, PCI-E x4 (Gen 2), Intel 82575EB, PXE, iSCSI boot, VMDq, Windows, Linux, VMWare, FreeBSD, Netware, full size and LP brackets ~150$ E1G42ET стоит 170 баксов. Но это не Supermicro, а Intel :). У Supermicro один существенный недостаток - у них элементы в другую сторону торчат :). В результате - не всегда нормально влазит в корпус. Кстати, в свое время (месяца два-три назад) без проблем купил в Украине две E1G42ET. ЧЯДНТ? :) Edited June 11, 2010 by Abram Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.