В Густелёв Опубликовано 4 апреля, 2012 · Жалоба Товарищи, помогите пожалуйста, у меня вот такая херня last pid: 11241; load averages: 0.67, 0.64, 0.54 up 0+20:11:21 23:13:39 131 processes: 8 running, 95 sleeping, 28 waiting CPU 0: 0.0% user, 0.0% nice, 5.6% system, 78.2% interrupt, 16.2% idle CPU 1: 0.0% user, 0.0% nice, 4.5% system, 73.7% interrupt, 21.8% idle CPU 2: 0.0% user, 0.0% nice, 6.4% system, 78.9% interrupt, 14.7% idle CPU 3: 0.0% user, 0.0% nice, 9.7% system, 69.7% interrupt, 20.6% idle Mem: 20M Active, 11M Inact, 415M Wired, 316K Cache, 60M Buf, 3475M Free Swap: 4096M Total, 4096M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 12 root -68 - 0K 496K RUN 0 483:16 63.96% {irq261: igb1:que 12 root -68 - 0K 496K CPU2 2 483:42 62.89% {irq263: igb1:que 12 root -68 - 0K 496K WAIT 1 483:54 61.67% {irq262: igb1:que 12 root -68 - 0K 496K WAIT 3 476:37 56.98% {irq264: igb1:que 11 root 171 ki31 0K 64K CPU3 3 576:08 20.07% {idle: cpu3} 11 root 171 ki31 0K 64K RUN 1 566:03 19.48% {idle: cpu1} 12 root -68 - 0K 496K WAIT 2 129:11 17.97% {irq258: igb0:que 12 root -68 - 0K 496K CPU0 0 130:58 17.87% {irq256: igb0:que 11 root 171 ki31 0K 64K RUN 0 563:33 17.68% {idle: cpu0} 12 root -68 - 0K 496K WAIT 3 130:37 17.68% {irq259: igb0:que 12 root -68 - 0K 496K WAIT 1 129:46 16.99% {irq257: igb0:que 11 root 171 ki31 0K 64K RUN 2 569:06 15.09% {idle: cpu2} 0 root -68 0 0K 240K - 3 24:04 5.08% {igb1 que} 0 root -68 0 0K 240K - 2 22:42 4.39% {igb1 que} vmstat -i interrupt total rate irq16: uhci0 23 0 irq18: ehci0 uhci3 2 0 cpu0: timer 144455907 1996 irq256: igb0:que 0 369696108 5108 irq257: igb0:que 1 369610287 5107 irq258: igb0:que 2 365567412 5051 irq259: igb0:que 3 374841568 5179 irq260: igb0:link 2 0 irq261: igb1:que 0 557984856 7710 irq262: igb1:que 1 555943757 7682 irq263: igb1:que 2 552856413 7639 irq264: igb1:que 3 560408816 7744 irq265: igb1:link 2 0 irq266: ciss0 14732 0 cpu3: timer 144448006 1996 cpu1: timer 144447838 1996 cpu2: timer 144448274 1996 Total 4284724003 59210 uname -a FreeBSD jess.pip.ru 8.2-RELEASE FreeBSD 8.2-RELEASE В лоадере добавили, по ощущениям стало чючють легче: hw.igb.rxd=4096 hw.igb.txd=4096 hw.igb.max_interrupt_rate=32000 netstat -hw 1 input (Total) output packets errs idrops bytes packets errs bytes colls 273K 0 0 125M 267K 0 90M 0 272K 0 0 128M 264K 0 90M 0 Пробовали выключать fastforwarding и включать isr.direct = та же фигня. Поллинга в ядре нет. Подскажите, пожалуйста, что поглядеть? Ещё пока не пробовал сделать net.isr.maxthreads больше 1, но нет ощущения, что это порулит. ipfw на таблицах (21,31,41 - статичные ипы, 71,81,91 - подсети): ipfw show 00005 25659864 7094216826 setfib 2 ip from table(31) to any 00006 17917798 3541253724 setfib 3 ip from table(41) to any 00007 340510902 89433216442 setfib 2 ip from table(91) to any 00008 14860465 4030475562 setfib 3 ip from table(71) to any 00010 29846103 15861650913 nat tablearg ip from table(21) to any out xmit vlan134 00020 29857577 15862069322 allow ip from table(22) to any out xmit vlan134 00030 33358322 28264773715 nat tablearg ip from any to table(22) in recv vlan134 00040 33343775 28263878508 allow ip from any to table(21) in recv vlan134 00050 643317 170596538 skipto 65530 ip from table(8) to any 00060 658721 575247295 skipto 65530 ip from any to table(8) 00230 88245329 45708936841 nat tablearg ip from table(31) to any out xmit vlan136 00260 102687671 21610082612 nat tablearg ip from table(41) to any out xmit igb1 00290 88238572 45707959389 allow ip from table(32) to any out xmit vlan136 00300 102774570 21613712575 allow ip from table(42) to any out xmit igb1 00310 93655769 81256875770 nat tablearg ip from any to table(32) in recv vlan136 00320 156888038 177335165522 nat tablearg ip from any to table(42) in recv igb1 00330 93627383 81254802174 allow ip from any to table(31) in recv vlan136 00340 156714140 177319877409 allow ip from any to table(41) in recv igb1 00342 64820729 13283688136 allow ip from table(41) to any 00350 720287796 296433096756 nat tablearg ip from table(81) to any out xmit vlan134 00360 722862466 296529896939 allow ip from table(82) to any out xmit vlan134 00370 2387229138 1097892487727 nat tablearg ip from any to table(82) in recv vlan134 00380 911669614 1002197997380 allow ip from any to table(81) in recv vlan134 00390 1245852384 462324723560 nat tablearg ip from table(91) to any out xmit vlan136 00392 7607962 2061357118 nat tablearg ip from table(71) to any out xmit igb1 00420 1243190743 462091960356 allow ip from table(92) to any out xmit vlan136 00422 7610974 2061479898 allow ip from table(72) to any out xmit igb1 00430 3965086606 1783534933380 nat tablearg ip from any to table(92) in recv vlan136 00432 9149348 8467936025 nat tablearg ip from any to table(72) in recv igb1 00440 1528601003 1625227881323 allow ip from any to table(91) in recv vlan136 00442 8711489 8436739198 allow ip from any to table(71) in recv igb1 65535 12696225668 4261249216809 allow ip from any to any Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bird_of_Luck Опубликовано 4 апреля, 2012 · Жалоба Навскидку самое страшное тут - это куча правил в файрволле, которые проходит пакет. Делите на in/out для каждого интерфейса через skipto. Надо, чтобы основной трафик проходил минимум правил. 10 - предел. Далее, релиз - точно не самая лучше идея. Надо прыгать на STABLE. И еще чего сделать - убедиться, что очереди прибиты к ядрам. Ну и кстати, при наличии вланов держать еще и нетегированный трафик на igb - моветон Ииии. net.inet.ip.fw.one_pass то кстати выключен, да? PPS. в -STABLE есть setfib tablearg, например Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
В Густелёв Опубликовано 4 апреля, 2012 · Жалоба И еще чего сделать - убедиться, что очереди прибиты к ядрам. Ну и кстати, при наличии вланов держать еще и нетегированный трафик на igb - моветон очереди прибивать пробовал - толку нет вланы на igb - это нам так сложно аплинк приходит - часть через нетегируемое, часть по двум вланам Ииии. net.inet.ip.fw.one_pass то кстати выключен, да? да. Поди можно включить и не потребуется allow после каждого ната, ага? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
В Густелёв Опубликовано 4 апреля, 2012 (изменено) · Жалоба 00005 46368725 13993965679 setfib 2 ip from table(31) to any 00006 31717007 6766501440 setfib 3 ip from table(41) to any 00007 639925374 184462611780 setfib 2 ip from table(91) to any 00008 49582398 14425737191 setfib 3 ip from table(71) to any 00100 34525 13624121 nat tablearg ip from any to table(22) in recv vlan134 00110 421269 398346782 nat tablearg ip from any to table(32) in recv vlan136 00120 1701 104173 nat tablearg ip from any to table(42) in recv igb1 00130 739419 665839692 nat tablearg ip from any to table(72) in recv igb1 00140 4245292 2191123296 nat tablearg ip from any to table(82) in recv vlan134 00150 9955923 4645520197 nat tablearg ip from any to table(92) in recv vlan136 00200 42120 31356466 nat tablearg ip from table(21) to any out xmit vlan134 00230 98601505 49159270669 nat tablearg ip from table(31) to any out xmit vlan136 00260 102687671 21610082612 nat tablearg ip from table(41) to any out xmit igb1 00350 773026470 314666428535 nat tablearg ip from table(81) to any out xmit vlan134 00390 1368199194 501269066955 nat tablearg ip from table(91) to any out xmit vlan136 00392 24968123 7259824672 nat tablearg ip from table(71) to any out xmit igb1 65535 13530831206 4589033479931 allow ip from any to any это изменение в фаерволле добавило примерно 10% на ядра: last pid: 11819; load averages: 0.36, 0.30, 0.34 up 0+21:19:36 00:21:54 131 processes: 9 running, 94 sleeping, 28 waiting CPU 0: 0.0% user, 0.0% nice, 2.3% system, 59.8% interrupt, 38.0% idle CPU 1: 0.0% user, 0.0% nice, 2.2% system, 65.5% interrupt, 32.2% idle CPU 2: 0.0% user, 0.0% nice, 0.8% system, 62.4% interrupt, 36.8% idle CPU 3: 0.0% user, 0.0% nice, 3.0% system, 66.2% interrupt, 30.8% idle Mem: 20M Active, 11M Inact, 418M Wired, 324K Cache, 61M Buf, 3472M Free Swap: 4096M Total, 4096M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 12 root -68 - 0K 496K WAIT 2 521:56 48.00% {irq263: igb1:que 12 root -68 - 0K 496K CPU1 1 521:58 47.07% {irq262: igb1:que 12 root -68 - 0K 496K WAIT 3 514:28 46.58% {irq264: igb1:que 12 root -68 - 0K 496K RUN 0 522:17 46.48% {irq261: igb1:que 11 root 171 ki31 0K 64K RUN 3 591:11 38.87% {idle: cpu3} 11 root 171 ki31 0K 64K RUN 0 577:32 37.79% {idle: cpu0} 11 root 171 ki31 0K 64K CPU2 2 583:27 36.57% {idle: cpu2} 11 root 171 ki31 0K 64K RUN 1 580:47 34.86% {idle: cpu1} 12 root -68 - 0K 496K WAIT 2 141:28 16.16% {irq258: igb0:que 12 root -68 - 0K 496K WAIT 0 142:45 15.58% {irq256: igb0:que 12 root -68 - 0K 496K RUN 1 141:38 15.38% {irq257: igb0:que 12 root -68 - 0K 496K WAIT 3 142:31 14.70% {irq259: igb0:que 0 root -68 0 0K 240K - 2 25:29 1.46% {igb1 que} 0 root -68 0 0K 240K CPU0 2 27:03 1.27% {igb1 que} Изменено 4 апреля, 2012 пользователем В Густелёв Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bird_of_Luck Опубликовано 4 апреля, 2012 · Жалоба Вполне может быть. Оно даже на вид не очень лучше. Еще раз: надо добиваться того, чтобы общая масса трафика ходила через 5 например правил на IN и 5 на out. Вот нельзя таблички с натами на IN обьединить в одну, например (опционально включив потом verrevpath) ? И с out так же поступить? Да и первые четыре правило даже с текущей версией системы можно смешать в два, если сделать 2 общие таблицы. Судя по конфигурации, one_pass выключенный тут совершенно незачем Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 4 апреля, 2012 · Жалоба очереди прибивать пробовал - толку нет Модель CPU какая? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
В Густелёв Опубликовано 4 апреля, 2012 · Жалоба Вот нельзя таблички с натами на IN обьединить в одну, например (опционально включив потом verrevpath) ? И с out так же поступить? посмотри, я обновил правила файрволла, отсортировав их по in и out я не очень понял, как можно слить в одну таблицу nat с разных интерфейсов. Сейчас погуглю, неужели так можно? Модель CPU какая? hw.machine: amd64 hw.model: Intel® Xeon® CPU E5504 @ 2.00GHz hw.ncpu: 4 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bird_of_Luck Опубликовано 4 апреля, 2012 · Жалоба очереди прибивать пробовал - толку нет Тут надо понимать, что примерно процентов 80 сейчас жрет фиреволл, в первую очередь имеет смысл оптимизировать его. А после уже можно прибивать ядра, уменьшать количество очередей на картах, еще чего-то делать. По поводу ната: Во-первых ipfw умеет recv vlanX. Но я говорю про вещь попроще: Нельзя например 00120 1701 104173 nat tablearg ip from any to table(42) in recv igb1 00130 739419 665839692 nat tablearg ip from any to table(72) in recv igb1 обьединить в одно правило? 00100 34525 13624121 nat tablearg ip from any to table(22) in recv vlan134 00110 421269 398346782 nat tablearg ip from any to table(32) in recv vlan136 00140 4245292 2191123296 nat tablearg ip from any to table(82) in recv vlan134 00150 9955923 4645520197 nat tablearg ip from any to table(92) in recv vlan136 тоже. Ну или хотя бы два. Тут же ведь не надо все же два раза натить, ведь правда? Я, честно говоря, не очень понимаю еще всю конструкцию в целом: Можно описать, что из этого что? То есть вот, igb1 - аплинк. vlan134/136 - тоже? А клиенты где? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
В Густелёв Опубликовано 4 апреля, 2012 · Жалоба bird_of_Luck а клиенты на igb0 таблицу 41 и 71 не объединяем, потому что в 41 - статичный нат (с опцией redirect ip, для тех кому нужны выделенные ip), а в 71 - нат для сетей с маской 24. Таким образом в 21, 31 и 41 там примерно по 100 ip-адресов, а вот в 71,81 и 91 - все-все сети. Соответственно, вот пример: таблица 41 10.1.4.32/32 1000 таблица 71 10.1.4.0/24 2000 правильно ли он сортирует сети в таблице?, если она будет выглядеть так: 10.1.4.0/24 2000 10.1.4.32/32 1000 не обломается человек со статичным ip? вот таблицы 42 и 72 можно объединить, согласен. Там содержатся внешние айпи-адреса, и с учетом того что входящего трафика больше - их объединение может дать заметный результат Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bird_of_Luck Опубликовано 4 апреля, 2012 · Жалоба bird_of_Luck а клиенты на igb0 таблицу 41 и 71 не объединяем, потому что в 41 - статичный нат (с опцией redirect ip, для тех кому нужны выделенные ip), а в 71 - нат для сетей с маской 24. Таким образом в 21, 31 и 41 там примерно по 100 ip-адресов, а вот в 71,81 и 91 - все-все сети. Соответственно, вот пример: таблица 41 10.1.4.32/32 1000 таблица 71 10.1.4.0/24 2000 правильно ли он сортирует сети в таблице?, если она будет выглядеть так: 10.1.4.0/24 2000 10.1.4.32/32 1000 1) Там дерево. От того, что ты добавишь туда еще 1000 записей к 100 - даст тебе еще 1 ступенькю люкапа (т.к. он делается за логарифм), а так - ты делаешь 2 записи в фиреволле с двумя деревьями. Это дороже 2) Опять же, там дерево, там most specific match Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
В Густелёв Опубликовано 4 апреля, 2012 · Жалоба 00007 143928863 49229232396 setfib 2 ip from table(91) to any 00008 16410435 5024164499 setfib 3 ip from table(71) to any 00110 176067271 85046336428 nat tablearg ip from any to table(92) in recv vlan136 00130 10275850 9414368266 nat tablearg ip from any to table(72) in recv igb1 00140 91971055 40780631803 nat tablearg ip from any to table(82) in recv vlan134 00350 33536343 12997457095 nat tablearg ip from table(81) to any out xmit vlan134 00390 58437065 20594511126 nat tablearg ip from table(91) to any out xmit vlan136 00392 8203108 2512191916 nat tablearg ip from table(71) to any out xmit igb1 65535 387265807 175454005095 allow ip from any to any действительно, стало значительно лучше: last pid: 15698; load averages: 0.24, 0.21, 0.22 up 0+22:57:34 01:59:52 131 processes: 7 running, 95 sleeping, 29 waiting CPU 0: 0.0% user, 0.0% nice, 1.1% system, 52.1% interrupt, 46.8% idle CPU 1: 0.0% user, 0.0% nice, 0.4% system, 57.3% interrupt, 42.3% idle CPU 2: 0.0% user, 0.0% nice, 0.4% system, 59.0% interrupt, 40.6% idle CPU 3: 0.0% user, 0.0% nice, 0.8% system, 52.6% interrupt, 46.6% idle Mem: 21M Active, 11M Inact, 418M Wired, 324K Cache, 61M Buf, 3472M Free Swap: 4096M Total, 4096M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 11 root 171 ki31 0K 64K CPU1 1 617:58 46.39% {idle: cpu1} 11 root 171 ki31 0K 64K RUN 2 620:27 46.00% {idle: cpu2} 11 root 171 ki31 0K 64K RUN 0 614:27 45.90% {idle: cpu0} 11 root 171 ki31 0K 64K RUN 3 628:45 45.46% {idle: cpu3} 12 root -68 - 0K 496K CPU0 0 566:34 44.29% {irq261: igb1:que 12 root -68 - 0K 496K CPU3 3 558:13 43.55% {irq264: igb1:que 12 root -68 - 0K 496K WAIT 2 566:15 42.29% {irq263: igb1:que 12 root -68 - 0K 496K WAIT 1 565:53 42.09% {irq262: igb1:que 12 root -68 - 0K 496K WAIT 1 155:50 14.06% {irq257: igb0:que 12 root -68 - 0K 496K WAIT 3 156:54 13.87% {irq259: igb0:que 12 root -68 - 0K 496K WAIT 2 155:40 13.18% {irq258: igb0:que 12 root -68 - 0K 496K WAIT 0 156:36 12.99% {irq256: igb0:que 0 root -68 0 0K 240K - 0 28:56 0.88% {igb1 que} 0 root -68 0 0K 240K - 1 27:16 0.78% {igb1 que} Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
DobroFenix Опубликовано 4 апреля, 2012 · Жалоба По-моему это предел для данного процессора. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
В Густелёв Опубликовано 4 апреля, 2012 · Жалоба DobroFenix посмотрим после апдейта драйвера на сетевку, например, не самый свежак Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bird_of_Luck Опубликовано 5 апреля, 2012 (изменено) · Жалоба Ага, уже лучше. Тут еще можно поделить-таки на in-out вот так: skipto 500 ip from any to any out 00007 143928863 49229232396 setfib 2 ip from table(91) to any 00008 16410435 5024164499 setfib 3 ip from table(71) to any 00110 176067271 85046336428 nat tablearg ip from any to table(92) recv vlan136 00130 10275850 9414368266 nat tablearg ip from any to table(72) recv igb1 00140 91971055 40780631803 nat tablearg ip from any to table(82) recv vlan134 allow ip from any to any 00550 33536343 12997457095 nat tablearg ip from table(81) to any xmit vlan134 00590 58437065 20594511126 nat tablearg ip from table(91) to any xmit vlan136 00592 8203108 2512191916 nat tablearg ip from table(71) to any xmit igb1 65535 387265807 175454005095 allow ip from any to any А если клиенты реально только за igb0 и там нет вланов - то еще проще, например как-то так: allow ip from any to any via igb0 (на входе от клиента мы не натим, на выходе в него - тоже) skipto 500 ip from any to any out 00007 143928863 49229232396 setfib 2 ip from table(91) to any 00008 16410435 5024164499 setfib 3 ip from table(71) to any 00110 176067271 85046336428 nat tablearg ip from any to table(X) allow ip from any to any 00550 33536343 12997457095 nat tablearg ip from table(X+1) to any 65535 387265807 175454005095 allow ip from any to any (Ну и помним еще про setfib tablearg в STABLE) P.S. и one_pass включаем, разумеется, если еще не P.P.S. Точнее все даже еще проще - в STABLE вот такое есть: vlan262: flags=808943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500 fib 13 description: CLIENT: XXXX Изменено 5 апреля, 2012 пользователем bird_of_Luck Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nashvill Опубликовано 5 апреля, 2012 · Жалоба Карточка на чипе 82598 или 82599 ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Hawk128 Опубликовано 5 апреля, 2012 (изменено) · Жалоба IGB это 82575 и 82576. Карточка на чипе 82598 или 82599 ? А это ix. Изменено 5 апреля, 2012 пользователем Hawk128 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nashvill Опубликовано 5 апреля, 2012 · Жалоба IGB это 82575 и 82576. Карточка на чипе 82598 или 82599 ? А это ix. Пардон, невнимательно посмотрел. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
martini Опубликовано 5 апреля, 2012 · Жалоба 2 DobroFenix - это ты на основе твоих мук с микротиком и старючим ксеоном вывод сделал ? )) Я тебя разочарую - на таком же ксеоне и карточках у меня 4 гигабита идет. А по теме, попробуй выключить правила фаервола по максимуму, хоть на некоторое время - увидим в чем именно проблема, если все взлетит, то проблема в количестве правил Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
make.kernel Опубликовано 5 апреля, 2012 (изменено) · Жалоба 2 DobroFenix - это ты на основе твоих мук с микротиком и старючим ксеоном вывод сделал ? )) Я тебя разочарую - на таком же ксеоне и карточках у меня 4 гигабита идет. А по теме, попробуй выключить правила фаервола по максимуму, хоть на некоторое время - увидим в чем именно проблема, если все взлетит, то проблема в количестве правил ИМХО нат грузит, если отключить его можно валить трафика пока в скорости портов не упрешься, затраты на проверку правил ipfw по сравнению с libalias не имеют значения. А, да, если вы в количество правил упираетесь ipfw add 65534 allow all from any to any in recv \{vlan4000, vlan4001\} 65534 allow ip from any to any in recv {vlan4000,vlan4 позволит экономить еще строчек В мейл-листах проходило что-то поро мэппинг имен интерфейсов в таблицах с использованием radix tree, что-то такое, не пробовал, должно быть феерически круто Изменено 5 апреля, 2012 пользователем make.kernel Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bird_of_Luck Опубликовано 6 апреля, 2012 · Жалоба В мейл-листах проходило что-то поро мэппинг имен интерфейсов в таблицах с использованием radix tree, что-то такое, не пробовал, должно быть феерически круто Через недельку будет в -STABLE, можно пробовать. Оно немного хуже, чем skipto XXXX via iface-name, потому что skipto tablearg работает за логарифм от количества правил, но все равно лучше, чем 5-6 skipto подряд. Поэтому лучше комбинировать - если есть интерфейс, где бегает куча трафика - указать его явным skipto, а для остальных - делать skipto tablearg. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ichthyandr Опубликовано 6 апреля, 2012 · Жалоба Товарищи, помогите пожалуйста, у меня вот такая херня last pid: 11241; load averages: 0.67, 0.64, 0.54 up 0+20:11:21 23:13:39 131 processes: 8 running, 95 sleeping, 28 waiting CPU 0: 0.0% user, 0.0% nice, 5.6% system, 78.2% interrupt, 16.2% idle CPU 1: 0.0% user, 0.0% nice, 4.5% system, 73.7% interrupt, 21.8% idle CPU 2: 0.0% user, 0.0% nice, 6.4% system, 78.9% interrupt, 14.7% idle CPU 3: 0.0% user, 0.0% nice, 9.7% system, 69.7% interrupt, 20.6% idle Mem: 20M Active, 11M Inact, 415M Wired, 316K Cache, 60M Buf, 3475M Free Swap: 4096M Total, 4096M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 12 root -68 - 0K 496K RUN 0 483:16 63.96% {irq261: igb1:que 12 root -68 - 0K 496K CPU2 2 483:42 62.89% {irq263: igb1:que 12 root -68 - 0K 496K WAIT 1 483:54 61.67% {irq262: igb1:que 12 root -68 - 0K 496K WAIT 3 476:37 56.98% {irq264: igb1:que 11 root 171 ki31 0K 64K CPU3 3 576:08 20.07% {idle: cpu3} 11 root 171 ki31 0K 64K RUN 1 566:03 19.48% {idle: cpu1} 12 root -68 - 0K 496K WAIT 2 129:11 17.97% {irq258: igb0:que 12 root -68 - 0K 496K CPU0 0 130:58 17.87% {irq256: igb0:que 11 root 171 ki31 0K 64K RUN 0 563:33 17.68% {idle: cpu0} 12 root -68 - 0K 496K WAIT 3 130:37 17.68% {irq259: igb0:que 12 root -68 - 0K 496K WAIT 1 129:46 16.99% {irq257: igb0:que 11 root 171 ki31 0K 64K RUN 2 569:06 15.09% {idle: cpu2} 0 root -68 0 0K 240K - 3 24:04 5.08% {igb1 que} 0 root -68 0 0K 240K - 2 22:42 4.39% {igb1 que} vmstat -i interrupt total rate irq16: uhci0 23 0 irq18: ehci0 uhci3 2 0 cpu0: timer 144455907 1996 irq256: igb0:que 0 369696108 5108 irq257: igb0:que 1 369610287 5107 irq258: igb0:que 2 365567412 5051 irq259: igb0:que 3 374841568 5179 irq260: igb0:link 2 0 irq261: igb1:que 0 557984856 7710 irq262: igb1:que 1 555943757 7682 irq263: igb1:que 2 552856413 7639 irq264: igb1:que 3 560408816 7744 irq265: igb1:link 2 0 irq266: ciss0 14732 0 cpu3: timer 144448006 1996 cpu1: timer 144447838 1996 cpu2: timer 144448274 1996 Total 4284724003 59210 uname -a FreeBSD jess.pip.ru 8.2-RELEASE FreeBSD 8.2-RELEASE В лоадере добавили, по ощущениям стало чючють легче: hw.igb.rxd=4096 hw.igb.txd=4096 hw.igb.max_interrupt_rate=32000 netstat -hw 1 input (Total) output packets errs idrops bytes packets errs bytes colls 273K 0 0 125M 267K 0 90M 0 272K 0 0 128M 264K 0 90M 0 Пробовали выключать fastforwarding и включать isr.direct = та же фигня. Поллинга в ядре нет. Подскажите, пожалуйста, что поглядеть? Ещё пока не пробовал сделать net.isr.maxthreads больше 1, но нет ощущения, что это порулит. ipfw на таблицах (21,31,41 - статичные ипы, 71,81,91 - подсети): ipfw show 00005 25659864 7094216826 setfib 2 ip from table(31) to any 00006 17917798 3541253724 setfib 3 ip from table(41) to any 00007 340510902 89433216442 setfib 2 ip from table(91) to any 00008 14860465 4030475562 setfib 3 ip from table(71) to any 00010 29846103 15861650913 nat tablearg ip from table(21) to any out xmit vlan134 00020 29857577 15862069322 allow ip from table(22) to any out xmit vlan134 00030 33358322 28264773715 nat tablearg ip from any to table(22) in recv vlan134 00040 33343775 28263878508 allow ip from any to table(21) in recv vlan134 00050 643317 170596538 skipto 65530 ip from table(8) to any 00060 658721 575247295 skipto 65530 ip from any to table(8) 00230 88245329 45708936841 nat tablearg ip from table(31) to any out xmit vlan136 00260 102687671 21610082612 nat tablearg ip from table(41) to any out xmit igb1 00290 88238572 45707959389 allow ip from table(32) to any out xmit vlan136 00300 102774570 21613712575 allow ip from table(42) to any out xmit igb1 00310 93655769 81256875770 nat tablearg ip from any to table(32) in recv vlan136 00320 156888038 177335165522 nat tablearg ip from any to table(42) in recv igb1 00330 93627383 81254802174 allow ip from any to table(31) in recv vlan136 00340 156714140 177319877409 allow ip from any to table(41) in recv igb1 00342 64820729 13283688136 allow ip from table(41) to any 00350 720287796 296433096756 nat tablearg ip from table(81) to any out xmit vlan134 00360 722862466 296529896939 allow ip from table(82) to any out xmit vlan134 00370 2387229138 1097892487727 nat tablearg ip from any to table(82) in recv vlan134 00380 911669614 1002197997380 allow ip from any to table(81) in recv vlan134 00390 1245852384 462324723560 nat tablearg ip from table(91) to any out xmit vlan136 00392 7607962 2061357118 nat tablearg ip from table(71) to any out xmit igb1 00420 1243190743 462091960356 allow ip from table(92) to any out xmit vlan136 00422 7610974 2061479898 allow ip from table(72) to any out xmit igb1 00430 3965086606 1783534933380 nat tablearg ip from any to table(92) in recv vlan136 00432 9149348 8467936025 nat tablearg ip from any to table(72) in recv igb1 00440 1528601003 1625227881323 allow ip from any to table(91) in recv vlan136 00442 8711489 8436739198 allow ip from any to table(71) in recv igb1 65535 12696225668 4261249216809 allow ip from any to any Такая же фигня, сейчас отказались от igb (freebsd 9.0), купили специально карточку под em драйвер, откатываемся на 7.3 3 сервера работают под 7.3 карточки на Intel 82571 без проблем Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bird_of_Luck Опубликовано 6 апреля, 2012 · Жалоба Такая же фигня, сейчас отказались от igb (freebsd 9.0), купили специально карточку под em драйвер, откатываемся на 7.3 3 сервера работают под 7.3 карточки на Intel 82571 без проблем Вообще довольно странно звучит. Тем более, что у человека проблема в файрволле, а не в карточках. Во-первых, igb igb'у рознь, а em - вообще legacy, через который трафик-то особо и не погонять. Ну а во-вторых, фиреволлинг - это процентов 30, а в случаях, как выше - и все 80. Грешить на карточки стоит далеко не всегда. Если есть возможность посетапить еще коробку, указать конфигурацию, подать трафик и тюнить - то могу попробовать полечить по фотографии. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ichthyandr Опубликовано 6 апреля, 2012 · Жалоба Такая же фигня, сейчас отказались от igb (freebsd 9.0), купили специально карточку под em драйвер, откатываемся на 7.3 3 сервера работают под 7.3 карточки на Intel 82571 без проблем Вообще довольно странно звучит. Тем более, что у человека проблема в файрволле, а не в карточках. Во-первых, igb igb'у рознь, а em - вообще legacy, через который трафик-то особо и не погонять. Ну а во-вторых, фиреволлинг - это процентов 30, а в случаях, как выше - и все 80. Грешить на карточки стоит далеко не всегда. Если есть возможность посетапить еще коробку, указать конфигурацию, подать трафик и тюнить - то могу попробовать полечить по фотографии. Ситуация такая - в наличии 3 сервера доступа типа IBM system x3650 M2/M3 (CPU: Intel® Xeon® CPU E5504 @ 2.00GHz ), freeBSD 7.3, в каждом, как показывает syctrl, по две двухпортовых 'HP NC360T PCIe DP Gigabit Server Adapter (n1e5132)', собранных в lagg0/lagg1. Проработали без проблем 2 года. Пришло время расширяться заказали еще один подобный сервер, с карточкой промахнулись - под Intel PRO/1000 приехала на чипсете 82580EB типа такой http://www.shopping.com/ibm-ibm-49y4232-2-port-network-interface-card-nic-networking/info поставили freebsd 9.0, lagg не собирали, вобщем система стала как у топикстартера сидеть в прерываниях, по количеству сессий сервер так с первыми тремя и не выравнялся. Игра с настройками тоже ничего не дала, сейчас заказали http://www.nix.ru/autocatalog/networking_intel/Intel_EXPI9402PT_1000_PT_Dual_PCIE_x4_1000Mbps_51176.html на 82571EB, будем пробовать запуститься и на 9-ке и на 7.3 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bird_of_Luck Опубликовано 6 апреля, 2012 · Жалоба Ситуация такая - в наличии 3 сервера доступа типа IBM system x3650 M2/M3 (CPU: Intel® Xeon® CPU E5504 @ 2.00GHz ), freeBSD 7.3, в каждом, как показывает syctrl, по две двухпортовых 'HP NC360T PCIe DP Gigabit Server Adapter (n1e5132)', А это кто с т.з. интелевых драйверов? em? igb? собранных в lagg0/lagg1. Проработали без проблем 2 года. Пришло время расширяться заказали еще один подобный сервер, с карточкой промахнулись - под Intel PRO/1000 приехала на чипсете 82580EB типа такой http://www.shopping.com/ibm-ibm-49y4232-2-port-network-interface-card-nic-networking/info поставили freebsd 9.0, lagg не собирали, вобщем система стала как у топикстартера сидеть в прерываниях, по количеству сессий сервер так Вообще это 4хпортовый вариант 82576, примерно этим же кодом и поддерживается. А как при этом трафик ходит, опишите? (роутинг, или нетграф, есть ли шейпинг, etc, чего с фиреволлом, в общем хочется услышать путь прохождения пакета). Есть идея, которая легко реализуется и скорее всего поможет. с первыми тремя и не выравнялся. Игра с настройками тоже ничего не дала, сейчас заказали http://www.nix.ru/autocatalog/networking_intel/Intel_EXPI9402PT_1000_PT_Dual_PCIE_x4_1000Mbps_51176.html на 82571EB, будем пробовать запуститься и на 9-ке и на 7.3 С 71EB лучше не будет, тут дело не в карте вовсе. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ichthyandr Опубликовано 6 апреля, 2012 · Жалоба Ситуация такая - в наличии 3 сервера доступа типа IBM system x3650 M2/M3 (CPU: Intel® Xeon® CPU E5504 @ 2.00GHz ), freeBSD 7.3, в каждом, как показывает syctrl, по две двухпортовых 'HP NC360T PCIe DP Gigabit Server Adapter (n1e5132)', А это кто с т.з. интелевых драйверов? em? igb? em Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...