On Tue, 26 Apr 2005, Florin Anton wrote:

> Problema este : cand se face traffic mediu prin server (50-60Mbit) acesta
> are o problema majora cu incarcarea cpu (80-90%).

        Problema e de la SNAT/conntrack. Conntrack-ul este un foarte 
mare consumator de resurse. Chiar daca nu ai reguli de nat pe o anumita 
interfata, daca traficul intre 2 clienti iti trece pe acolo (il fortezi 
tu cu scopul de a-i limita, sau pentru ca nu are pe unde prin alta parte 
daca clientii sint in 2 segmente layer2 diferite) si iti rupe cpu-ul in 
2 si-ti da foc la ventilator.

> Un cat dupa /proc/interrupts spune:
>           CPU0       CPU1
>  0: 1014415767      10022    IO-APIC-edge  timer
>  8:         12          1    IO-APIC-edge  rtc
>  9:          1          0   IO-APIC-level  acpi
> 14:    6363499          0    IO-APIC-edge  ide0
> 15:         34          0    IO-APIC-edge  ide1
> 169:          0          0   IO-APIC-level  uhci_hcd
> 177:  491829352       3681   IO-APIC-level  eth0
> 185: 3348331996  163616343   IO-APIC-level  eth1
> 193: 3659374879          0   IO-APIC-level  eth2
> 201:          0          0   IO-APIC-level  ehci_hcd
> 209:          0          0   IO-APIC-level  uhci_hcd, uhci_hcd
> 217:          0          0   IO-APIC-level  uhci_hcd
> NMI:          0          0
> LOC: 1014494886 1014495214

        Porneste irqbalance, s-ar putea sa te ajute la distribuirea 
numarului de irq-uri pe cele 2 cpu-uri virtuale.

> Tin sa precizez ca pe server ruleaza si un squid. Insa chiar si dat 
> jos, tot nu se observa nici o imbunatatire la incarcare.

> Cum s-ar putea imbunatati problema cu incarcarea?

        Ai mai multe variante:
        1. Reducerea numarului de reguli de nat sau rescrierea acestora.
        2. Vinde tancul asta de CPU+MB si ia-ti 2 in loc, un p4 la 
1.6-1.8 cu 512KB cache pe care sa-l faci router retea locala/fileserver/ 
SMTP/POP3/whatever si inca un celeron pe la 2.4GHz pe care sa-l 
maci masina pentru NAT/router internet.
        3. Ar fi pacat sa pui masina asta sa faca doar nat/squid insa 
poate fi si asta o solutie in cazul in care mai gasesti inca vreo masina 
cu cpu rezonabil (intel 1.0-1.4GHz sau AMD 1.6-2.4GHz) s-o faci router 
pentru clientii tai si sa nu ai pe ea decit eventual limitari, in rest 
rmmod ip_conntrack si modulele ce depind de el;
        4. Pune-i la asta pe care o ai un cpu la 3.6GHz sau chiar mai 
mare (sau chair mai multe, 2), insa asta nu-ti va oferi o solutie cu 
care s-o duci mult timp, poate citeva saptamini pina cind vei vinde la 
clientii tai mai multa banda.

        Ideea este sa faci sa NU se mai intilneasca traficul mare cu 
ip_conntrack-ul. In conditiile in care tu trebuie/esti nevoit/vrei sa 
faci NAT nu poti face aceasta separare decit cu 2 masini diferite. Asta 
va fi o solutie relativ scalabila dpdv. al nevoilor tale si al 
pretentiilor clientilor tai (care probabil nu sint clienti business de 
2000$ ci mult mai mici).

> Sa imi cumpar placi SMC cu chipset incorporat ? dar chiar trebuie sa 
> ajung la momentul ala atat de repede :) ?!

        Cu ce fel de chipset incorporat? Problema nu e de la irq/sec sau 
trafic. Citi pps cara interfata dinspre clienti la un moment dat? Dar 
cea spre internet? Dar cea spre reteaua metropolitana?

-- 
Any views or opinions presented within this e-mail are solely those of
the author and do not necessarily represent those of any company, unless
otherwise expressly stated.

--- 
Detalii despre listele noastre de mail: http://www.lug.ro/


Raspunde prin e-mail lui