Estou tentando melhorar minha taxa de transferência TCP através de uma "rede de alto atraso" entre máquinas Linux.
I definido tcp_mem
, tcp_wmem
e tcp_rmem
com “8192 7061504 7061504”.
Eu definir rmem_max
, wmem_max
, rmem_default
e wmem_default
para “7061504”.
I definir netdev_max_backlog
e txqueuelen
a 10000.
conjunto I tcp_congestion_control
para “escalável”.
Estou usando o “nist” (cnistnet) para simular um atraso de 100ms, e o BW que alcanço é de cerca de 200mbps (sem demora, chego a 790mbps).
Estou usando o iperf para executar os testes e o TCPTrace para analisar os resultados, e aqui está o que eu tenho:
No lado do receptor:
max win adv: 5294720 bytes
avg win adv: 5273959 bytes
sack pkts enviados: 0
No lado do remetente:
bytes de dados reais: 3085179704
bytes de dados rexmt: 9018144 owin
máximo: 5294577 bytes
médios: 3317125 bytes
RTT min: 19,2 ms
RTT máx: 218,2 ms
RTT méd: 98,0 ms
Por que alcanço apenas 200mbps? Eu suspeito que o "owin" tenha algo a ver com isso, mas não tenho certeza (esses resultados são de um teste de 2 minutos. Um teste de 1 minuto teve um "avg owin" de 1552900) ...
Estou errado em esperar que a taxa de transferência seja de quase 790mbps, mesmo que o atraso seja de 100ms?
(Tentei usar números maiores nas configurações da janela, mas isso não pareceu ter efeito)