2011/4/2 Adrian Sevcenco <[email protected]>: > Salut! Cum pot sa indentific si sa urmaresc cauza pachetelor pierdute? > din cite vad traficul e la wirespeed si nu am load mare (cea mai mare parte > a traficului e dat de nat-ing (masina e gateway pentru ceva worker noduri > din spate)) > e ceva natural ce se intimpla cind cererea de date e mai mare decit latimea > de banda existenta?
E putin aiurea sa vorbesti de "cerere de date", mecanismul e mai degraba pe sistemul "date bagate pe gat". Ethernetul fiind un mediu de broadcast (chiar daca de la raspandirea switchurilor nu mai e asa evident), placa de retea asculta si "pescuieste" cat poate de repede frame-urile pentru el. De obicei (cel putin pe arhitectura pc) limitarea e data de cat de repede poate os-ul sa prelucreze irq-urile placii, ceea ce poate tine si de load samd. E drept ca mai nou placile de retea au tot soiul de buffere si chipuri de offloading, dar pentru volum suficient de mare de date tot acolo e bottleneckul. De asta, de exemplu, ajuta sa activezi jumbo frames cand ai de impins catitati huge de date. Tot de asta cand esti floodat se masoara pps (packete/frames per secunda), pentru ca astea iti tin procesorul ocupat. Daca esti limitat de irq-uri, pe linux se vede threadul de kernel ksoftirqd ca ocupand foarte mult cpu si in /proc/interrupts se poate vedea daca e partajata intreruperea placii de retea cu altceva. irqbalance poate ajuta aici, la fel si folosirea de interfete bonding in mod round-robin, ca sa folosesti mai multe irq-uri. Recunosc ca am vazut si ca FreeBSD se comporta mult mai bine out-of-the-box cu numar mare de pachete pe secunda decat Linux,pe acelasi hardware, asa ca sunt convins ca cei cativa BSD-isti de pe lista ar fi incantati sa se laude :) PS: Recunosc ca multe din lucrurile pe care le-am povestit le stiu cam dupa ureche, asa ca rog pe colistasii mai cunoscatori sa-mi corecteze prostiile si sa puna lucruri mai inteligente in loc ;) HTH, -- Petre. _______________________________________________ RLUG mailing list [email protected] http://lists.lug.ro/mailman/listinfo/rlug
