J'essaie d'améliorer mon débit TCP sur un «réseau à retard élevé» entre des machines Linux.
Je mets tcp_mem
, tcp_wmem
et tcp_rmem
sur "8192 7061504 7061504".
Je mis rmem_max
, wmem_max
, rmem_default
et wmem_default
à « 7061504 ».
Je mets netdev_max_backlog
et txqueuelen
à 10000.
Je mets tcp_congestion_control
à «évolutif».
J'utilise «nist» (cnistnet) pour simuler un retard de 100 ms, et le BW que j'atteins est d'environ 200 Mbps (sans délai j'atteins environ 790mbps).
J'utilise iperf pour effectuer les tests et TCPTrace pour analyser les résultats, et voici ce que j'ai obtenu:
Côté récepteur:
max win adv: 5294720 octets
avg win adv: 5273959 octets
sack pkts sent: 0
Côté émetteur:
octets de données réels: 3085179704
octets de données rexmt: 9018144 débit
maximum: 5294577 octets débit
moyen: 3317125 octets
RTT minimum: 19,2 ms
RTT maximum: 218,2 ms
RTT moyen: 98,0 ms
Pourquoi j'atteins seulement 200 Mbps? Je soupçonne que le «owin» a quelque chose à voir avec cela, mais je ne suis pas sûr (ces résultats sont d'un test de 2 minutes. Un test de 1 minutes avait un «owin moyen» de 1552900)…
Ai-je tort de m'attendre à un débit de près de 790 Mbps même si le délai est de 100 ms?
(J'ai essayé d'utiliser de plus grands nombres dans les configurations de fenêtres mais cela ne semblait pas avoir d'effet)