Forum Linux.général Problème de performances réseaux entre Linux et FreeBSD

Posté par  .
Étiquettes : aucune
0
14
août
2004
Actuellement, je rencontre des problèmes de performances entre mon portable sous Linux et ma passerelle Internet sous FreeBSD. Mon débit ne dépasse pas en effet les 0.35Mb/s (ce qui est très peu...). Avis donc aux amateurs de défis...

Voici les détails de ma configuration et les tests effectués :

Je dispose d'un portable Céléron 1.7Ghz disposant d'un port ethernet 100Mb/s géré par un chip sis 900 . Dessus est installé une Mandrake 10.0 passée par la suite en cooker. J'ai donc essayé toute la gamme des noyaux 2.6 au fur et à mesure de leur sortie. J'ai aussi utilise une Knoppix avec un noyau 2.4 et un noyau 2.6

Mon serveur est un Céléron 2.7Ghz disposant de deux cartes réseaux, une broadcom 4401 et une realtek 8139 (j'ai bien sur testé les deux cartes). Une des cartes est reliés au portable, l'autre à ma freebox.

Un switch 10/100Mbs relient les deux ordinateurs, mais une connexion directe n'a rien changé aux performances

J'ai enfin utilise netperf et ftp pour les tests de performances.

Voici maintenant ce qui se passe :
- lorsque j'envoie des données depuis mon portable vers mon serveur, j'obtiens un débit de 90Mb/s,
- lorsque je télécharge depuis internet vers le portable (le traffic étant routé par le serveur), le débit est de (à peu près) 5Mb/s ce qui correspond aux caractéristiques de ma ligne
- lorsque je télécharge depuis le serveur vers le portable, le traffic plafonne à 0.35Mb/s

Si à la place de Linux sur le portable, j'utilise Windows XP ou FreeBSD les débits sont normaux (90Mb/s)
Si à la place de Freebsd sur le serveur, j'utilise Linux avec un noyau 2.4, le débit est de 40Mb/s, 30Mb/s avec un noyau 2.6

Mes conclusions ? Du fait, que selon la provenance du traffic les débits sont différents, je ne pense pas que le problème soit matériel ou que cela soit un problème de driver (du moins pas directement). Le problème est lié à la couche TCP de linux mais je ne sais plus trop comment chercher à présent
  • # Résultats avec netserver sur le portable et netperf sur le serveur

    Posté par  . Évalué à 1.

    Netserver sur le portable et Netperf lancé depuis Freebsd:

    TCP STREAM TEST to gobio
    Recv Send Send
    Socket Socket Message Elapsed
    Size Size Size Time Throughput
    bytes bytes bytes secs. 10^6bits/sec

    65536 16384 16384 60.00 89.27


    Analyse du dump par tcptrace:

    TCP connection 2:
    host c: caribou.no-ip.org:32849
    host d: gobio:50892
    complete conn: yes
    first packet: Sat Aug 14 11:09:55.056500 2004
    last packet: Sat Aug 14 11:10:55.060477 2004
    elapsed time: 0:01:00.003977
    total packets: 480129
    filename: test2.dump
    c->d: d->c:
    total packets: 467299 total packets: 12830
    ack pkts sent: 467298 ack pkts sent: 12830
    pure acks sent: 2 pure acks sent: 12828
    sack pkts sent: 0 sack pkts sent: 0
    dsack pkts sent: 0 dsack pkts sent: 0
    max sack blks/ack: 0 max sack blks/ack: 0
    unique bytes sent: 666387664 unique bytes sent: 0
    actual data pkts: 467295 actual data pkts: 0
    actual data bytes: 666387664 actual data bytes: 0
    rexmt data pkts: 0 rexmt data pkts: 0
    rexmt data bytes: 0 rexmt data bytes: 0
    zwnd probe pkts: 0 zwnd probe pkts: 0
    zwnd probe bytes: 0 zwnd probe bytes: 0
    outoforder pkts: 0 outoforder pkts: 0
    pushed data pkts: 20705 pushed data pkts: 0
    SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1
    req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y
    adv wind scale: 7 adv wind scale: 1
    req sack: Y req sack: N
    sacks sent: 0 sacks sent: 0
    urgent data pkts: 0 pkts urgent data pkts: 0 pkts
    urgent data bytes: 0 bytes urgent data bytes: 0 bytes
    mss requested: 1460 bytes mss requested: 1460 bytes
    max segm size: 1448 bytes max segm size: 0 bytes
    min segm size: 136 bytes min segm size: 0 bytes
    avg segm size: 1426 bytes avg segm size: 0 bytes
    max win adv: 5888 bytes max win adv: 66608 bytes
    min win adv: 5888 bytes min win adv: 46336 bytes
    zero win adv: 0 times zero win adv: 0 times
    avg win adv: 5888 bytes avg win adv: 65593 bytes
    initial window: 2896 bytes initial window: 0 bytes
    initial window: 2 pkts initial window: 0 pkts
    ttl stream length: 669563104 bytes ttl stream length: 0 bytes
    missed data: 3175440 bytes missed data: 0 bytes
    truncated data: 652368814 bytes truncated data: 0 bytes
    truncated packets: 467295 pkts truncated packets: 0 pkts
    data xmit time: 60.003 secs data xmit time: 0.000 secs
    idletime max: 94.7 ms idletime max: 102.1 ms
    throughput: 11105725 Bps throughput: 0 Bps
  • # Résultats avec netserver sur le serveur et netperf sur le portable

    Posté par  . Évalué à 1.


    TCP STREAM TEST to 192.168.1.7 : histogram
    Recv Send Send
    Socket Socket Message Elapsed
    Size Size Size Time Throughput
    bytes bytes bytes secs. 10^6bits/sec

    87380 32768 32768 60.73 0.35


    Analyse par tcptrace

    TCP connection 3:
    host e: gobio:50904
    host f: caribou.no-ip.org:32850
    complete conn: yes
    first packet: Sat Aug 14 11:15:54.324905 2004
    last packet: Sat Aug 14 11:16:55.062181 2004
    elapsed time: 0:01:00.737276
    total packets: 3713
    filename: test.dump
    e->f: f->e:
    total packets: 1857 total packets: 1856
    ack pkts sent: 1856 ack pkts sent: 1856
    pure acks sent: 2 pure acks sent: 1854
    sack pkts sent: 0 sack pkts sent: 0
    dsack pkts sent: 0 dsack pkts sent: 0
    max sack blks/ack: 0 max sack blks/ack: 0
    unique bytes sent: 2680248 unique bytes sent: 0
    actual data pkts: 1854 actual data pkts: 0
    actual data bytes: 2684592 actual data bytes: 0
    rexmt data pkts: 3 rexmt data pkts: 0
    rexmt data bytes: 4344 rexmt data bytes: 0
    zwnd probe pkts: 0 zwnd probe pkts: 0
    zwnd probe bytes: 0 zwnd probe bytes: 0
    outoforder pkts: 267 outoforder pkts: 0
    pushed data pkts: 1 pushed data pkts: 0
    SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1
    req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y
    adv wind scale: 1 adv wind scale: 7
    urgent data pkts: 0 pkts urgent data pkts: 0 pkts
    urgent data bytes: 0 bytes urgent data bytes: 0 bytes
    mss requested: 1460 bytes mss requested: 1460 bytes
    max segm size: 1448 bytes max segm size: 0 bytes
    min segm size: 1448 bytes min segm size: 0 bytes
    avg segm size: 1447 bytes avg segm size: 0 bytes
    max win adv: 66608 bytes max win adv: 64128 bytes
    min win adv: 66606 bytes min win adv: 8704 bytes
    zero win adv: 0 times zero win adv: 0 times
    avg win adv: 66607 bytes avg win adv: 63539 bytes
    initial window: 1448 bytes initial window: 0 bytes
    initial window: 1 pkts initial window: 0 pkts
    ttl stream length: 2680248 bytes ttl stream length: 0 bytes
    missed data: 0 bytes missed data: 0 bytes
    truncated data: 2628972 bytes truncated data: 0 bytes
    truncated packets: 1854 pkts truncated packets: 0 pkts
    data xmit time: 60.736 secs data xmit time: 0.000 secs
    idletime max: 239.1 ms idletime max: 239.1 ms
    throughput: 44129 Bps throughput: 0 Bps
  • # ethtool

    Posté par  . Évalué à 1.

    et mii-tool pour commencer.

    Et tu sur que les deux parties se synchronisent en 100 full?
    joue avec ces outils pour diagnostiquer/faire des essais
    • [^] # Re: ethtool

      Posté par  . Évalué à 1.

      Les deux cartes sont à 100Mb/s...
      Je ne connais pas ethtool donc je ne sais pas par trop ou commencer (si ce n'est le man :-)

      sinon, dump de mii-tool sous linux :

      [root@caribou laurent]# mii-tool -v -v
      eth0: negotiated 100baseTx-FD, link ok
      registers for MII PHY 1:
      3100 786d 2000 5c30 01e1 45e1 0005 2801
      0000 0000 0000 0000 0000 0000 0000 0000
      0015 0000 0000 0000 0000 0000 0100 0030
      0000 0061 0804 8800 0000 0000 0000 0000
      product info: vendor 08:00:17, model 3 rev 0
      basic mode: autonegotiation enabled
      basic status: autonegotiation complete, link ok
      capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
      advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
      link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.