Перейти к содержимому
Калькуляторы

2 Intel 82546EB и bonding

Друзья, привет.

есть схема: 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% на каждом ядре.

Изменено пользователем dignity

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

в сумме загрузка по SoftIRQ по 70% на каждом ядре.

Какой процессор и чем он занят? При интеловских картах 70% на 400мбпс - это перебор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Процессор:

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 только работают.

Изменено пользователем dignity

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Hyperthreading отключать не пробовали?

Какой именно Xeon? С раздельными кэшами для пар ядер?

Если да, тогда лучше все прерывания прикрепить на одну пару.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

это одноядерные ксеоны, прерывания раскиданы через 1 ядро, чтобы не попасть на ht. В системе 4 cpu dl560.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Теория вашей проблемы, думается, описана здесь - 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 механизм распределения пакетов, что в вашем случае не приемлимый вариант.

Изменено пользователем Justas

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.