dignity Опубликовано 6 октября, 2011 (изменено) · Жалоба Друзья, привет. есть схема: Cat 6500 = 2 x Intel 82546EB Quad, прерывания разнесены по ядрам, между узлами поднят bonding (LACP) по двум волокнам, каждое волокно уходит из cisco в свою сетевую. Поверх lacp подяты VLAN-ы. Вопрос вот в чем, как будет меньше нагрузка на узел, если оба волокна приземлять на одной карте (с точки зрения производительности и нагрузки на CPU) или же нагрузка на CPU по двум картам будет такая же как и на одной? PS. На две карты разнесено с целью большей надежности при отказе SFP-шек и карточек, но сейчас уже вопрос не в надежности, а скорее в снижении нагрузки. BO|NIC1 Intel Quad -----------------| RD|.............................................x6516-GBIC ER|NIC2 Intel Quad -----------------| Сейчас маршрутизируется порядка 400Mbit (это во всех направлениях), порядка 125-150Kpps в сумме загрузка по SoftIRQ по 70% на каждом ядре. Изменено 6 октября, 2011 пользователем dignity Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 6 октября, 2011 · Жалоба в сумме загрузка по SoftIRQ по 70% на каждом ядре. Какой процессор и чем он занят? При интеловских картах 70% на 400мбпс - это перебор. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dignity Опубликовано 6 октября, 2011 (изменено) · Жалоба Процессор: vendor_id : GenuineIntel cpu family : 15 model : 2 model name : Intel® Xeon MP CPU 3.00GHz stepping : 6 cpu MHz : 2990.422 cache size : 4096 KB physical id : 3 siblings : 2 core id : 0 cpu cores : 1 apicid : 7 initial apicid : 7 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pebs bts cid xtpr bogomips : 5981.01 clflush size : 64 Чем занят, да кроме Zebra/Quagga больше ничего нет. 2 FV. Ядро Debian 2.6.26-2-686-bigmem, # Generated by iptables-save v1.4.2 on Thu Oct 6 15:17:20 2011 *nat :PREROUTING ACCEPT [2286427134:174991621311] :POSTROUTING ACCEPT [1678781035:140222065181] :OUTPUT ACCEPT [257192:20117641] -A POSTROUTING -s 10.0.0.0/9 -o bond0.33 -j SNAT --to-source 91.221.60.1 COMMIT # Completed on Thu Oct 6 15:17:20 2011 # Generated by iptables-save v1.4.2 on Thu Oct 6 15:17:20 2011 *mangle :PREROUTING ACCEPT [71097291608:42932750138805] :INPUT ACCEPT [495717722:29488178909] :FORWARD ACCEPT [70577235925:42901943176341] :OUTPUT ACCEPT [748554823:335494553169] :POSTROUTING ACCEPT [71325790746:43237437728471] -A FORWARD -m comment --comment "xxx/10240/10240/10240/10240" -m set --set set101 src -j MARK --set-xmark 0xcc/0xffffffff -A FORWARD -m comment --comment "xxx/10240/10240/10240/10240" -m set --set set101 dst -j MARK --set-xmark 0xcb/0xffffffff -A FORWARD -m comment --comment "xxx/1024/1024/102400/102400" -m set --set set100 src -j MARK --set-xmark 0xca/0xffffffff -A FORWARD -m comment --comment "xxx/1024/1024/102400/102400" -m set --set set100 dst -j MARK --set-xmark 0xc9/0xffffffff -A FORWARD -m comment --comment "xxx/2048/2048/2048/2048" -m set --set set102 src -j MARK --set-xmark 0xce/0xffffffff -A FORWARD -m comment --comment "xxx/2048/2048/2048/2048" -m set --set set102 dst -j MARK --set-xmark 0xcd/0xffffffff -A FORWARD -m comment --comment "xxx/1024/1024/102400/102400" -m set --set set1001 src -j MARK --set-xmark 0x7d4/0xffffffff -A FORWARD -m comment --comment "xxx/1024/1024/102400/102400" -m set --set set1001 dst -j MARK --set-xmark 0x7d3/0xffffffff -A FORWARD -s 10.0.0.0/9 -i bond0.17 -j MARK --set-xmark 0x1/0xffffffff -A FORWARD -m comment --comment "xxx/512/512/512/512" -m set --set set103 src -j MARK --set-xmark 0xd0/0xffffffff -A FORWARD -m comment --comment "xxx/512/512/512/512" -m set --set set103 dst -j MARK --set-xmark 0xcf/0xffffffff -A FORWARD -m comment --comment "xxx/2048/2048/2048/2048" -m set --set set104 src -j MARK --set-xmark 0xd2/0xffffffff -A FORWARD -m comment --comment "xxx/2048/2048/2048/2048" -m set --set set104 dst -j MARK --set-xmark 0xd1/0xffffffff COMMIT # Completed on Thu Oct 6 15:17:20 2011 # Generated by iptables-save v1.4.2 on Thu Oct 6 15:17:20 2011 *filter :INPUT ACCEPT [497889507:29915492205] :FORWARD ACCEPT [73949496381:44822219037116] :OUTPUT ACCEPT [754971334:340335741092] -A FORWARD -i bond0.234 -j NETFLOW -A FORWARD -o bond0.234 -j NETFLOW -A FORWARD -i bond0.171 -j NETFLOW -A FORWARD -o bond0.171 -j NETFLOW -A FORWARD -i bond0.17 -j NETFLOW -A FORWARD -m comment --comment "xxx/10240/10240/10240/10240" -m set --set set101 src -j ACCEPT -A FORWARD -m comment --comment "xxx/10240/10240/10240/10240" -m set --set set101 dst -j ACCEPT -A FORWARD -m comment --comment "xxx/1024/1024/102400/102400" -m set --set set100 src -j ACCEPT -A FORWARD -m comment --comment "xxx/1024/1024/102400/102400" -m set --set set100 dst -j ACCEPT -A FORWARD -m comment --comment "xxx/2048/2048/2048/2048" -m set --set set102 src -j ACCEPT -A FORWARD -m comment --comment "xxx/2048/2048/2048/2048" -m set --set set102 dst -j ACCEPT -A FORWARD -m comment --comment "xxx/1024/1024/102400/102400" -m set --set set1001 src -j ACCEPT -A FORWARD -m comment --comment "xxx/1024/1024/102400/102400" -m set --set set1001 dst -j ACCEPT -A FORWARD -m comment --comment "xxx/512/512/512/512" -m set --set set103 src -j ACCEPT -A FORWARD -m comment --comment "xxx/512/512/512/512" -m set --set set103 dst -j ACCEPT -A FORWARD -m comment --comment "xxx/2048/2048/2048/2048" -m set --set set104 src -j ACCEPT -A FORWARD -m comment --comment "xxx/2048/2048/2048/2048" -m set --set set104 dst -j ACCEPT ну и в tc еще 20 правил. 15:22:53 CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s 15:22:54 all 0,37 0,00 0,00 0,00 0,37 14,36 0,00 84,89 14773,00 15:22:54 0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 0,00 15:22:54 1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 0,00 15:22:54 2 0,00 0,00 1,00 0,00 2,00 56,00 0,00 41,00 3,00 15:22:54 3 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 66,00 15:22:54 4 3,00 0,00 0,00 0,00 0,00 59,00 0,00 38,00 5414,00 15:22:54 5 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 0,00 15:22:54 6 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 0,00 15:22:54 7 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 0,00 cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7 0: 65 0 0 0 0 0 0 0 IO-APIC-edge timer 1: 5780 0 0 0 0 0 2887 0 IO-APIC-edge i8042 6: 3 0 0 0 0 0 0 0 IO-APIC-edge floppy 8: 2 0 0 0 0 0 0 0 IO-APIC-edge rtc0 9: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi acpi 11: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi ohci_hcd:usb1 12: 114 0 0 0 0 0 0 0 IO-APIC-edge i8042 14: 87 0 0 0 0 0 0 0 IO-APIC-edge ide0 15: 0 0 0 0 0 0 0 0 IO-APIC-edge ide1 20: 256594 0 0 0 0 0 0 0 IO-APIC-fasteoi 21: 180675 0 0 0 0 0 0 0 IO-APIC-fasteoi 23: 1 0 0 0 0 0 0 0 IO-APIC-fasteoi 24: 594363553 638613 3268156338 0 0 0 0 0 IO-APIC-fasteoi eth9 25: 256437 0 0 0 0 0 0 0 IO-APIC-fasteoi 26: 546480731 1521081304 120953 0 422847297 0 0 0 IO-APIC-fasteoi eth5 27: 130641 0 0 0 0 0 0 0 IO-APIC-fasteoi 30: 2546358 0 598415 0 0 0 0 0 IO-APIC-fasteoi cciss0 31: 54215962 305 0 48735799 0 0 0 0 IO-APIC-fasteoi eth0 NMI: 0 0 0 0 0 0 0 0 Non-maskable interrupts LOC: 1027288720 1316247810 1325150809 380901582 231117093 92596544 52318599 99286454 Local timer interrupts RES: 29008932 13863821 27533897 2644117748 1238801156 1344866137 7554163 6688780 Rescheduling interrupts CAL: 13168 13830 13915 13789 12072 12174 12144 12284 function call interrupts TLB: 108974 102087 103209 64545 201155 212915 276053 210725 TLB shootdowns TRM: 0 0 0 0 0 0 0 0 Thermal event interrupts SPU: 0 0 0 0 0 0 0 0 Spurious interrupts ERR: 0 MIS: 0 eth5 и eth9 только работают. Изменено 6 октября, 2011 пользователем dignity Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 6 октября, 2011 · Жалоба Hyperthreading отключать не пробовали? Какой именно Xeon? С раздельными кэшами для пар ядер? Если да, тогда лучше все прерывания прикрепить на одну пару. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dignity Опубликовано 7 октября, 2011 · Жалоба это одноядерные ксеоны, прерывания раскиданы через 1 ядро, чтобы не попасть на ht. В системе 4 cpu dl560. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Justas Опубликовано 7 октября, 2011 (изменено) · Жалоба Теория вашей проблемы, думается, описана здесь - http://forum.nag.ru/forum/index.php?showtopic=46335&view=findpost&p=644790 и ниже по теме. Похоже, несмотря на бондинг, из-за использования физически разных сетевых карт центральные процессоры неверно распределяют прием/отправку пакетов. Тут всё познается методом тыка, начинать нужно с малого. Попробуйте сделать бондинг между 1 и 2 портом одной сетевой карты, потому как на карте 4 порта, каждую пару из которых обслуживает один чипсет сетевой карты (коих на карте 2). Возможно, когда 1-2 порты будет обслуживать 1 чипсет (а не 2, как сейчас), пакеты будут передаваться на CPU "правильно" и нагрузка снизится в 2 раза. После этого схему можно будет усложнять. Само собой, подбирать опции бондинга на стороне сервера. Вы написали про LACP, но перепроверьте. Возможно у вас включен round-robin механизм распределения пакетов, что в вашем случае не приемлимый вариант. Изменено 7 октября, 2011 пользователем Justas Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...