Portál AbcLinuxu, 6. května 2025 01:22

Dotaz: Core2Quad, rozložení zátěže - CBQ, TC, IPTABLES

26.3.2009 11:11 JetCat | skóre: 2
Core2Quad, rozložení zátěže - CBQ, TC, IPTABLES
Přečteno: 438×
Odpovědět | Admin

Zdravím,

mám problém u routeru postaveném na Core2Quad s rozložením zátěže na všechny CPU.

Distribuci mám Debian, 2.6.18.5 #1 SMP Fri Nov 16 09:54:39 CET 2007 x86_64 GNU/Linux

Router provádí routování i NAT pro zhruba 2000 počítačů, jsou v něm 2 síťové gigabitové karty Intel, přípojka 100 Mbit/s.

Na routeru používám iptables pro MARKování paketů (zkoušel jsem i CLASSIFY) jednotlivých počítačů a jejich následovný traffic control provádí CBQ shaper (tc). Jakmile naroste traffic nad 60 Mbit/s, zatížení prvního jádra CPU naroste na 100%, ostatní 3 jádra CPU zpracovávají jen jiné procesy a jedou tak na 5% a dochází ke zpomalování trafficu do Internetu, prodlužování odezvy (latence) a nárůstu load average nad 1 třeba až na hodnotu 2.5

Nejmarkantněji je to vidět na výpisu /proc/interrupts , kde je vidět, že přerušení obsluhuje jen první jádro.

           CPU0       CPU1       CPU2       CPU3
  0:  889986765          0          0          0    IO-APIC-edge  timer
  1:       1929          0          0          0    IO-APIC-edge  i8042
  7:          0          0          0          0    IO-APIC-edge  parport0
  8:          0          0          0          0    IO-APIC-edge  rtc
  9:          0          0          0          0   IO-APIC-level  acpi
 14:          0          0          0          0    IO-APIC-edge  libata
 15:          0          0          0          0    IO-APIC-edge  libata
 66: 1996439847          0          0          0   IO-APIC-level  uhci_hcd:usb2, eth0
 74:          0          0          0          0   IO-APIC-level  uhci_hcd:usb3, ehci_hcd:usb7
 82:  157478315          0          0          0   IO-APIC-level  3w-xxxx
 90: 1601931260          0          0          0         PCI-MSI  eth1
177:          0          0          0          0   IO-APIC-level  uhci_hcd:usb1
185:          0          0          0          0   IO-APIC-level  uhci_hcd:usb5, ehci_hcd:usb6
193:          0          0          0          0   IO-APIC-level  uhci_hcd:usb4, libata
NMI:      13709        901        721        952
LOC:  872702708  886078398  872702635  886078328
ERR:          0
MIS:          0
 

Setkal jste se už někdo s podobným problémem a lze to nějak řešit, aby se zátěž přenesla i na ostatní jádra CPU ?

Já chápu, že MARKování nebo CLASSIFY trafficu pomocí IPTABLES je náročné na CPU a slyšel jsem o možnosti odlehčení zátěže pomocí hashing filters (ačkoliv jsem to ještě podrobněji neprocházel), ale spíš mi jde o to, proč nejsou využívána lépe ostatní jádra CPU ?

Pokud máte někdo nějaký tip, prosím, dejte vědět.

JetCat

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.3.2009 14:54 lm
Rozbalit Rozbalit vše Re: Core2Quad, rozložení zátěže - CBQ, TC, IPTABLES
Odpovědět | | Sbalit | Link | Blokovat | Admin

irqbalance ti bezi? Ak nie tak apt-get install irqbalance.

26.3.2009 16:50 JetCat | skóre: 2
Rozbalit Rozbalit vše Re: Core2Quad, rozložení zátěže - CBQ, TC, IPTABLES

Tak to jsem nainstalované neměl. Teď  to již vypadá o poznání lépe, děkuji za pomoc.

JetCat

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.