
He estado jugando con iperf durante las últimas 4 horas y no puedo entender por qué los resultados son diferentes en el cliente y el servidor.
Considere la siguiente salida de iperf en el cliente:
iperf -c 91.121.112.163 -p 2222
------------------------------------------------------------
Client connecting to 91.121.112.163, TCP port 2222
TCP window size: 1.06 MByte (default)
------------------------------------------------------------
[ 3] local 10.0.0.160 port 36726 connected with 91.121.112.163 port 2222
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-11.4 sec 1.88 MBytes 1.38 Mbits/sec
Y aquí está la salida correspondiente en el servidor:
iperf -V -s -p 2222
------------------------------------------------------------
Server listening on TCP port 2222
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[ 4] local ::ffff:91.121.112.163 port 2222 connected with ::ffff:86.209.154.156 port 36726
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-19.1 sec 1.88 MBytes 823 Kbits/sec
Entonces, ¿el cliente carga a 1,38 Mbits/s pero el servidor recibe a 823 kbits/s?
¿Alguien tiene una explicación sobre estos resultados confusos?
Respuesta1
Creo que el problema es que el cliente se está comunicando con un dispositivo que ha almacenado en el búfer el tráfico saliente, por lo que el cliente cree que lo ha hecho antes de que el servidor haya recibido el último bloque de datos. He notado esto mucho con iperf: el informe segundo a segundo del servidor es mucho más estable que el del cliente. También he notado que elprimeroel segundo en el cliente es siempre el rendimiento más alto, que supongo que es llenar el búfer de cualquier dispositivo a lo largo de la ruta que lo esté haciendo. Lo siguiente es el cliente y el servidor probando un enlace que tiene forma bidireccional a 7Mbps...
------------------------------------------------------------
Client connecting to 204.22.22.104, TCP port 5001
TCP window size: 20.0 KByte (default)
------------------------------------------------------------
[ 3] local 10.125.20.100 port 49248 connected with 204.22.22.104 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 1.0 sec 1.12 MBytes 9.44 Mbits/sec
[ 3] 1.0- 2.0 sec 768 KBytes 6.29 Mbits/sec
[ 3] 2.0- 3.0 sec 768 KBytes 6.29 Mbits/sec
[ 3] 3.0- 4.0 sec 896 KBytes 7.34 Mbits/sec
[ 3] 4.0- 5.0 sec 768 KBytes 6.29 Mbits/sec
[ 3] 5.0- 6.0 sec 896 KBytes 7.34 Mbits/sec
[ 3] 6.0- 7.0 sec 768 KBytes 6.29 Mbits/sec
[ 3] 7.0- 8.0 sec 896 KBytes 7.34 Mbits/sec
[ 3] 8.0- 9.0 sec 768 KBytes 6.29 Mbits/sec
[ 3] 9.0-10.0 sec 768 KBytes 6.29 Mbits/sec
[ 3] 0.0-10.2 sec 8.38 MBytes 6.91 Mbits/sec
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[ 4] local 204.22.22.104 port 5001 connected with 10.125.20.100 port 49248
[ ID] Interval Transfer Bandwidth
[ 4] 0.0- 1.0 sec 828 KBytes 6.78 Mbits/sec
[ 4] 1.0- 2.0 sec 764 KBytes 6.25 Mbits/sec
[ 4] 2.0- 3.0 sec 857 KBytes 7.02 Mbits/sec
[ 4] 3.0- 4.0 sec 815 KBytes 6.68 Mbits/sec
[ 4] 4.0- 5.0 sec 811 KBytes 6.64 Mbits/sec
[ 4] 5.0- 6.0 sec 814 KBytes 6.66 Mbits/sec
[ 4] 6.0- 7.0 sec 815 KBytes 6.68 Mbits/sec
[ 4] 7.0- 8.0 sec 814 KBytes 6.66 Mbits/sec
[ 4] 8.0- 9.0 sec 812 KBytes 6.65 Mbits/sec
[ 4] 9.0-10.0 sec 806 KBytes 6.60 Mbits/sec
[ 4] 0.0-10.6 sec 8.38 MBytes 6.64 Mbits/sec
Respuesta2
Del cliente: (el énfasis es mío)
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-**11.4** sec 1.88 MBytes 1.38 Mbits/sec
Desde el servidor:
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-**19.1** sec 1.88 MBytes 823 Kbits/sec
Por alguna razón, el servidor cree que la prueba está tardando ~8 segundos más que el cliente. Eso sería suficiente para reducir el ancho de banda general (desde la perspectiva del servidor) a 823 Kbps.