Bonjour,
J'ai réalisé de nombreux tests pour comprendre les performances réseau
avec de la latence et perte d’acquittement TCP.
Je ne parle pas des mauvaises performances liées au système
d'exploitation client (Rwin limitée à 64 Ko avec tous les navigateurs
sous Windows XP et limitée à 255 Ko sous Windows 7 avec les navigateurs
IE, Firefox, Opéra) mais des performances coté serveur.
On va prendre un cas simple : un abonné sur le réseau Numericbale (avec
la fonction TCP ACK Suppression activée sur le modem DOCSIS qui entraîne
une limitation à 222 ACK/sec, soit 92% des acquittements TCP dropés à 90
Mb/s) qui télécharge aux USA (latence de 100ms) => Le débit est limité à
580 Ko/s (testé avec 4 clients : Linux, MacOS X, Windows 7 avec une Rwin
de 4 Mo et Windows XP avec une Rwin de 4 Mo)
J'ai mis en place un serveur en France qui rajoute 100ms :
http://100ms.lafibre.info (la latence supplémentaire est générée avec
NetEm) et un autre sans la latence en+ http://0ms.lafibre.info ce qui
permet de faire le test en ne modifiant que le paramètre latence.
- Avec 100ms de latence en + avec TCP ACK Suppression : wget
http://100ms.lafibre.info/10Gb.dat -O /dev/null => débit de 580 Ko/s
- Avec 100ms de latence en + sans TCP ACK Suppression : wget
http://100ms.lafibre.info/10Gb.dat -O /dev/null => débit plus de 10 Mo/s
- Avec 0ms de latence en + (avec ou sans TCP ACK Suppression) : wget
http://0ms.lafibre.info/10Gb.dat -O /dev/null => débit plus de 10 Mo/s
Les débits sont donc bon si nous avons de la latence sans les pertes
d’acquittement ou inversement des pertes d’acquittement sans latence.
Avec de la latence et des pertes d’acquittement, le débit s'écroule.
Malheureusement il n'est pas possible de désactiver la latence quand on
télécharge aux USA ou le TCP ACK Suppression sur les modems Numericable.
J'ai testé des serveurs mirror Australiens d'Ubuntu avec 1 Gb/s de BP
vers le net :
Serveur 1 :
wget -O /dev/null
http://mirror.aarnet.edu.au/pub/ubuntu/releases/11.04/ubuntu-11.04-desktop-i386.iso
Je ping ce serveur en 310ms.
Avec une connexion limitée à 222 ACK/sec, je suis limité à 0,2 Mo/s
Avec une connexion sans perte d’acquittements, je télécharge à 9,4 Mo/s
Serveur 2 :
wget -O /dev/null
http://ftp.iinet.net.au/pub/ubuntu-releases/11.04/ubuntu-11.04-desktop-i386.iso
Je ping ce serveur en 365ms.
Avec une connexion limitée à 222 ACK/sec, je télécharge à 6 Mo/s
Avec une connexion sans perte d’acquittements, je télécharge à 6 Mo/s
il y a donc un paramétrage serveur ou un système d'exploitation
différent entre ces deux serveurs.
http://100ms.lafibre.info/ et http://0ms.lafibre.info/ sont des Linux
2.6.38 + apache 2.2 avec les paramétrages TCP/IP par défaut.
Ma question : quel système d'exploitation ou paramètre linux utiliser
pour avoir des bonnes performances avec une latence importante et un
drop des acquittements au-delà de 222 ACK/s ?
Merci d'avance pour vos retours.
Vivien.
---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/