¿Son confiables los tests de velocidad?

Los tests de velocidad gozan de una popularidad muy alta, son quizás  la herramienta más usada a la hora de medir el ancho de banda de un enlace, pero ¿ Son realmente confiables?

Cuando realizas un test de velocidad (el nombre correcto sería test de caudal útil) sólo miras el caudal del más lento entre la IP origen y la IP destino.

Por ejemplo: Con un enlace de 1500 kbps (Cable Módem) hago un test (usando speed test) a un servidor de Estados Unidos:

speed test

De entrada vemos que hay un problema evidente, está mostrando un resultado mayor al ancho banda contratado (de este problema se habla más adelante).

En este caso la IP de ese servidor es la 69.241.38.70 , haciendo un tracert veo que desde mi enlace hacia esa IP hay 12 saltos (incluyendo el salto a mi módem)

De esos 12 saltos, sólo el primero (el 2do en la lista, el primero es mi router) está dentro de mi proveedor de Internet, los siguientes le pertenecen al proveedor internacional (Telefónica Whosale) y de ahí salta a otro proveedor(en este caso Comcast) para finalmente llegar a la IP destino (en Estados Unidos).

Si durante estos  saltos hubo un router que en ese momento se encontraba saturado y su ancho de banda disponible era menor al de mi enlace, en el test saldría como resultado un valor menor o igual que el ancho de banda de ese router saturado, no importa que en los demás saltos haya ancho de banda de sobra, el más lento los frena a todos. Sólo puedes ser tan rápido como el más lento en tu ruta.. En esta prueba el más lento fue mi enlace.

Pero hay un detalle, sólo estamos mirando la mitad del panaroma! Casi siempre la ruta de vuelta es totalmente diferente a la ruta de ida.

Otros factores como la pérdida de paquetes y retardos impuestos (traffic shaping) también afectan al caudal.

Al hacer una prueba hacia un servidor más alejado, por ejemplo uno en Rusia:

Rusia

Su IP es 109.197.95.4 , haciendo un tracert veo que desde mi enlace hay 18 saltos (incluyendo el salto a mi módem) hacia esa IP y hubo una aparente pérdida de paquetes en los últimos saltos,  las latencias se han incrementado considerablemente por el tema de distancia. Cuando hay latencias elevadas la probabilidad de pérdida de caudal aumenta debido al funcionamiento del protocolo TCP (ventanas TCP, paquetes de ACK, etc). Las pérdidas de paquetes en un tracert pueden ser engañosas, debido a que los routers dan más prioridad a los paquetes «reales», es un tema aparte saber diagnosticar los problemas en una ruta.

Y habrá otro número parecido de saltos en la ruta de vuelta, mas de 30 saltos en total! Obviamente sumando todos estos factores ya el caudal que recibo desde Rusia tiene muchas probabilidades de ser menor y en este caso lo fue, es muy probable que el resultado en realidad ya no represente al máximo de mi enlace, fui frenado por algún otro router, tal vez está en la ruta de ida o tal vez en la ruta de vuelta.

Otra gran desventaja de los tests es que hay una pérdida de caudal por overhead que es invisible al usuario, lo que da a pensar que te falta ancho de banda incluso cuando haces pruebas en la madrugada. Las conexiones DSL (ADSL, SDSL, VDSL, etc) son notorias por tener uno de los overheads más grandes (entre 13 y 15% del ancho de banda contratado).

Los tests basados en flash tienen un margen de error grande, lamentablemente son los más populares. En el primer resultado el test dio un resultado casi 13 por ciento por encima de lo que midió el DU Meter (mi enlace es de 1500 kbps) , muchas veces el resultado mostrado en el test es inferior al verdadero caudal útil (goodput).

Finalmente, los tests  sólo te muestran el caudal de una conexión TCP, cuando usas un gestor de descarga (Jdownloader, Internet Download Manager) que tienen la opción de abrir varias conexiones simultáneas hacia una misma descarga, puedes compensar las limitaciones de una sola conexión TCP y de saturación en los proveedores internacionales.

Entonces, ¿Cuál es la manera correcta de medir mi ancho de banda? (Estoy asumiendo que  no hay ningún otro tráfico en el enlace excepto el de las pruebas y que el enlace está con parámetros adecuados y se está conectado alámbricamente al módem en el caso de ADSL, Cable Módem, WiMAX etc)

1. Realiza varias pruebas hacia distintos servidores internacionales y saca un promedio.
2. Satura tu enlace! Realiza unas 3 o 4 descargas simultáneas de diferentes servidores y mide el ancho de banda total, te recomiendo un gran software llamado DU Meter que realiza esto y mucho más, compara este resultado con el de las pruebas realizadas en el  paso 1, ¿es considerablemente superior? Si lo es, entonces hay saturación hacia los servidores testeados en el paso 1 en algún lugar de la ruta, si es casi igual pero tu resultado aún es bajo puedes concluir casi con seguridad que el problema lo tiene tu proveedor (en Internet Móvil casi siempre el problema es ancho de banda insuficiente en la radiobase para la cantidad de usuarios conectados en ese momento).
3. Dependiendo de la tecnología (ADSL, Cable Módem, 3G, etc) añade un porcentaje  a tu resultado, es el caudal no útil llamado «Overhead», el protocolo de TCP/IP tiene aproximadamente entre 3 y 4% de Overhead + el overhead de la tecnología en si (en ADSL está por el 10%).

Finalmente, debo mencionar que las pruebas de este artículo fueron realizadas en la madrugada. Durante las tardes (especialmente de lunes a viernes) el panorama es muy diferente. La realidad Boliviana es que sólo tenemos comprados 12 Gbps de tráfico internacional e inevitablemente nuestros enlaces se van a saturar en horas picos, en algunos proveedores es muy descarada la saturación mientras que en otros es «elegante» . Si quieres que tu enlace nunca se sature, pues ya estaríamos entrando en el tema de conexiones dedicadas que cuestan un ojo de la cara en Bolivia.

Los proveedores internacionales también se saturan, no tienen capacidad infinita, a veces es simplemente imposible garantizar un cierto caudal las 24 horas del día hacia una IP. Internet tiene «clima», a veces los paquetes tienen que pasar por rutas donde hay tormentas eléctricas o vientos huracanados o hubieron cortes de la red de fibra óptica internacional en otros países, que indirectamente afectan a los caudales percibidos en el nuestro.

Espero que este artículo les sirva para entender que los tests de velocidad son sólo una herramienta, lejos de ser perfecta pero que debe estar en nuestro arsenal para medir nuestro ancho de banda y debemos saber interpretar correctamente su resultado.

En el transcurso de los próximos días, voy a actualizar este artículo con pruebas durante las horas de saturación, por ejemplo un jueves a las 5 de la tarde.

Webs recomendadas para medir el caudal de tu enlace:
http://testmy.net (Excelente, no está basada en flash, da resultados muy precisos y se puede elegir el tamaño del archivo)

http://www.speedtest.net/ (A pesar de todas sus deficiencias por usar flash, tiene una cantidad significativa de servidores en todo el mundo)

Software recomendado para medir tu ancho de banda en tiempo real (recomiendo configurarlo para mostrar el promedio de los 3 últimos segundos):
DU Meter