Estou tentando descobrir por que o throughput tcp / ip entre dois hosts que eu controle é muito menor que o esperado.
Host A: conectividade com a Internet fornecida pela Comcast (Residencial) no Metrô de Boston - pode consistentemente obter download de 100Mbps de vários sites conhecidos (por exemplo, baixando o Google Chrome)
Host B: conectividade com a Internet fornecida pela Cogent; Consegue atingir quase 100 Mbps de e para vários sites.
Conexão de Teste: o Host A baixa um arquivo grande de B, via rsync / ssh em uma porta não padrão (22442) (por exemplo, rsync --progress -e 'ssh -p 22442' ...
- a taxa de transferência é apenas em torno de 2.5Mbps (292564 Bps)
Outros clientes (por exemplo, uma instância inicial do EC2) podem atingir uma taxa de transferência de quase 30 vezes ao tentar o mesmo download de B
Eu consegui capturar estatísticas da conexão entre A e B com tcptrace (anexado abaixo), mas não tenho certeza se algo parece errado.
Eu imagino que há algo do meu lado que precisa de ajustes, mas também tenho uma leve suspeita sobre a Comcast moldar o tráfego - então, antes de começar a me debater, pensei em buscar conselhos. Quais são alguns bons próximos passos para eu tentar? Desde já, obrigado.
tcptrace -r -l -o1 dump.out
1 arg remaining, starting with 'dump.out'
Ostermann's tcptrace -- version 6.6.7 -- Thu Nov 4, 2004
5763 packets seen, 5763 TCP packets traced
elapsed wallclock time: 0:00:00.019828, 290649 pkts/sec analyzed
trace file elapsed time: 0:00:18.655110
TCP connection info:
1 TCP connection traced:
TCP connection 1:
host a: XXX.XXXX.XXX:41608
host b: XXX.XXXX.XXX:22442
complete conn: RESET (SYNs: 2) (FINs: 1)
first packet: Sun May 26 14:48:52.923281 2013
last packet: Sun May 26 14:49:11.578391 2013
elapsed time: 0:00:18.655110
total packets: 5763
filename: dump.out
a->b: b->a:
total packets: 1946 total packets: 3817
resets sent: 15 resets sent: 0
ack pkts sent: 1930 ack pkts sent: 3817
pure acks sent: 1874 pure acks sent: 35
sack pkts sent: 228 sack pkts sent: 0
dsack pkts sent: 0 dsack pkts sent: 0
max sack blks/ack: 3 max sack blks/ack: 0
unique bytes sent: 4100 unique bytes sent: 5457821
actual data pkts: 55 actual data pkts: 3781
actual data bytes: 4100 actual data bytes: 5457821
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: 23
pushed data pkts: 55 pushed data pkts: 41
SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/0
req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y
adv wind scale: 7 adv wind scale: 7
req sack: Y req sack: Y
sacks sent: 228 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: 712 bytes max segm size: 1448 bytes
min segm size: 16 bytes min segm size: 21 bytes
avg segm size: 74 bytes avg segm size: 1443 bytes
max win adv: 301184 bytes max win adv: 21632 bytes
min win adv: 5888 bytes min win adv: 14592 bytes
zero win adv: 0 times zero win adv: 0 times
avg win adv: 269168 bytes avg win adv: 21615 bytes
initial window: 20 bytes initial window: 21 bytes
initial window: 1 pkts initial window: 1 pkts
ttl stream length: 4101 bytes ttl stream length: NA
missed data: 1 bytes missed data: NA
truncated data: 0 bytes truncated data: 0 bytes
truncated packets: 0 pkts truncated packets: 0 pkts
data xmit time: 18.128 secs data xmit time: 18.527 secs
idletime max: 5206.5 ms idletime max: 5285.9 ms
throughput: 220 Bps throughput: 292564 Bps
RTT samples: 57 RTT samples: 1661
RTT min: 59.0 ms RTT min: 0.0 ms
RTT max: 106.1 ms RTT max: 40.1 ms
RTT avg: 77.2 ms RTT avg: 1.4 ms
RTT stdev: 17.2 ms RTT stdev: 7.1 ms
RTT from 3WHS: 60.0 ms RTT from 3WHS: 0.0 ms
RTT full_sz smpls: 2 RTT full_sz smpls: 1
RTT full_sz min: 60.0 ms RTT full_sz min: 0.0 ms
RTT full_sz max: 70.1 ms RTT full_sz max: 0.0 ms
RTT full_sz avg: 65.1 ms RTT full_sz avg: 0.0 ms
RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms
post-loss acks: 0 post-loss acks: 16
segs cum acked: 0 segs cum acked: 2090
duplicate acks: 0 duplicate acks: 201
triple dupacks: 0 triple dupacks: 8
max # retrans: 0 max # retrans: 0
min retr time: 0.0 ms min retr time: 0.0 ms
max retr time: 0.0 ms max retr time: 0.0 ms
avg retr time: 0.0 ms avg retr time: 0.0 ms
sdv retr time: 0.0 ms sdv retr time: 0.0 ms
Algumas atualizações
Eu tentei algumas outras coisas.
-
Primeiramente eu tentei "reencaminhar" o fluxo tunelando a transferência através de um terceiro host - consegui um rendimento muito respeitável por cerca de 30 minutos e então o throughput decaiu por um fator de 20-ish para mais ou menos correspondência o fluxo original.
-
Segundo, executei mtr de B- > A com pacotes de tamanho 1400b e vi o seguinte:
X.X.X (0.0.0.0) Mon May 27 19:20:37 2013
Keys: Help Display mode Restart statistics Order of fields quit
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. X-X-X.X.X 0.0% 173 0.1 0.1 0.1 0.2 0.0
2. X-X.X.X-X.X.atlas.cogentco.com 0.0% 173 0.9 0.9 0.8 4.2 0.3
3. X-X.X.X-X.X.atlas.cogentco.com 0.0% 173 0.7 12.7 0.7 211.8 38.3
4. te7-3.ccr01.ord07.atlas.cogentco.com 0.0% 173 1.1 12.8 0.7 196.8 39.9
5. te0-4-0-7.mpd21.ord01.atlas.cogentco.com 0.0% 173 1.0 1.0 0.9 1.5 0.1
6. be2006.ccr21.ord03.atlas.cogentco.com 0.0% 173 1.3 1.3 1.2 1.9 0.1
7. be-202-pe04.350ecermak.il.ibone.comcast.net 0.0% 172 39.7 41.6 36.3 156.7 15.4
8. he-3-2-0-0-cr01.350ecermak.il.ibone.comcast.net 2.3% 172 46.9 45.0 36.8 51.4 3.6
he-3-1-0-0-cr01.350ecermak.il.ibone.comcast.net
he-3-0-0-0-cr01.350ecermak.il.ibone.comcast.net
he-3-12-0-0-cr01.350ecermak.il.ibone.comcast.net
9. he-3-6-0-0-ar01.woburn.ma.boston.comcast.net 1.2% 172 68.7 67.9 64.8 72.4 1.6
10. X.X.X.X.boston.comcast.net 1.7% 172 67.6 66.8 64.2 70.4 1.0
11. X.X.X.X.boston.comcast.net 1.2% 172 67.5 66.4 64.0 69.2 1.0
12. X.X.X.X.comcast.net 1.2% 172 75.7 75.2 72.0 85.8 1.9
Dado os resultados da minha primeira experiência, e o fato de que muita perda de pacotes está ocorrendo entre dois roteadores controlados pela Comcast em uma instalação Tier III (350 Cermak) - estou começando a me inclinar mais para o "Comcast Boogeyman "explicação.