Problém s občasnou latencí pingů na routeru

Majkls majkls na prepere.com
Úterý Srpen 14 14:39:52 CEST 2007


> Dobrý den.
DD,
> Mám následující problém s routerem.
> Když pingám na některé ze 2 síťových rozhraní routeru, tak občas dochází 
> ke zvýšení dob odezev a ke ztrátám paketů.
> Příklad pingání po ½ sekundě:
> 64 bytes from xx.xx.xx.xx: icmp_seq=86 ttl=64 time=0.237 ms
> 64 bytes from xx.xx.xx.xx: icmp_seq=115 ttl=64 time=4.98 ms
> 64 bytes from xx.xx.xx.xx: icmp_seq=116 ttl=64 time=0.769 ms
> 64 bytes from xx.xx.xx.xx: icmp_seq=117 ttl=64 time=6.74 ms
> 64 bytes from xx.xx.xx.xx: icmp_seq=119 ttl=64 time=1.18 ms
> 64 bytes from xx.xx.xx.xx: icmp_seq=120 ttl=64 time=0.370 ms
> 64 bytes from xx.xx.xx.xx: icmp_seq=124 ttl=64 time=0.256 ms
> 
> V nejhorším případě jsou časy až 250 ms a ztráty paketů.
> K problému dochází nepravidelně (několikrát během dne) a s mírnou 
> závislostí na celkovém trafficu na routeru.
> V době trvání problému se v "top" objevuje proces ksoftirgd/0 nebo 
> ksoftirgd/1.
Tipnul bych, že to ten stroj prostě nestíhá.
> 
> Nevím odkdy problém trvá.
> 
> Router slouží asi pro 2500 uživatelů internetu. Maximální traffic je 
> kolem 120 Mb/s a 17 000 paketů za sekundu.
> 
> HW:
> - IBM xSeries 346
> - 2x CPU Xeon 3,6 Mhz
Jestli se nepletu, na takto starém jádru je vám víc než jeden procesor
na routing k ničemu (?). Zkuste novější, nejlépe nejnovější a klidně se
zapnutým HT. Je tam taky spousta nových věcí, třeba pro delegaci konekcí.
> - 3 GB RAM (celkem nevyužita)
Není zas tolik potřeba. Ani by nemělo být.
> - 2 integrované síťovky Broadcom, 2 síťovky Intel PRO/1000 MT (všechny 
> gigové)
> - hyperthreading vypnutý
> 
> OS:
> - Debian 3.1
> - neupravované jádro 2.6.8-3-686-smp z distribuce
> - testovány ovladače síťovek tg3 obsažené v jádře i kompilované bcm5700 
> a pro Intel e1000 z distribuce
> - zkoušeny různé kombinace síťovek na různých sběrnicích PCI-X
> - řetězce iptables dosti rozsáhlé (pravidla pro každou klientskou IP – 
> počítáme data) , ale mírně optimalizované rozdělením do několika větví. 
> Vypnutí pravidel ale problém neřeší.
> - shaping CBQ jen pro několik IP adres
> - irqbalance běží
> - mírně „poladěné“ proměnné nf_conntrack kvůli p2p klientům:
> HASHSIZE = 24 576
> ip_conntrack_max= 393 216
> ip_conntrack_tcp_timeout_established = 16 380
> - pomocí smp_affinity spravedlivě :-) rozdělena obsluha 2 síťovek na 
> jednotlivé procesory
> 
> Možná by stačilo nějak poladit „TCP variables“, ale nevím jak přesně a 
> nechci postupovat metodou pokus – omyl.
> Nebo se jedná o nějaké útoky? Nemám s tím zkušenosti.
> Nebo zkompilovat jádro a přidat ovladače síťovek do jádra?
> 
> Mohl byste mi poradit nějaké řešení?
> Děkuji
> Rudolf Hamák
Miloslav Semler




Další informace o konferenci Linux