¡Síguenos! Feed Twitter Facebook

Precisión extrema al medir la velocidad, con descarga multihilo, sockets y protección de picos

26 agosto, 2010 a las 12:50 por Josh

En los últimos meses hemos mejorado considerablemente el algoritmo que mide la velocidad de descarga, que se suma a las mejoras que ya realizamos en la medición de la subida. Estas son algunas de las nuevas características que hacen de testvelocidad.eu una herramienta de precisión única en su género.

Conexión mediante sockets

Mientras que la mayoría de test utilizan el API del navegador para establecer la conexión con el servidor remoto, testvelocidad.eu trabaja a bajo nivel, estableciendo sockets directos. De esta forma, ningún otro elemento interfiere entre la herramienta y el servidor. Evitamos así el intercambio de encabezados HTTP innecesarios y el reenvío continuo del contenido de las cookies, que además de añadir algunos bytes extra a la comunicación, afecta al tiempo de proceso de la petición en el servidor, lo que resta precisión al test.

Descarga multihilo

La velocidad de una conexión TCP/IP está condicionada por el BDP, el producto del ancho de banda por la latencia. Los buffers de envío y de recepción del cliente deben estar proporcionalmente dimensionados en función de este valor. Esto significa que aunque una conexión sea de 20 Mbps. puede que sólo pueda alcanzar una velocidad inferior por conexión si el ordenador que la utiliza no está correctamente configurado. Para evitar esta limitación, testvelocidad.eu establece con el servidor 4 conexiones TCP paralelas, midiendo cada 30 ms. la velocidad agregada.

En busca de la máxima velocidad sostenible

Sería sencillo dividir cantidad de datos descargados por tiempo empleado, pero esto sólo nos entregaría la velocidad media, sin detallar que ha ocurrido a lo largo de la descarga. La velocidad media puede tener sentido en la banda ancha fija, pero no en internet móvil, donde la velocidad fluctúa constantemente. Para buscar el punto donde la conexión presenta el mejor rendimiento, el test calcula una media móvil de un segundo buscado su máximo valor a lo largo de toda la descarga. Llamamos a esta medida la velocidad máxima sostenible y refleja la máxima velocidad real que puede alcanzar la conexión.

Cálculo dinámico de la duración del test

Algunas conexiones, sobre todo las móviles, pueden tardar unos segundos desde que se inicia la transferencia, en ofrecer sus mejores prestaciones. El test de velocidad tiene una duración mínima de 8 segundos, pero llegado ese momento, si detecta que la velocidad medida continúa incrementándose, prolonga la duración del test de forma dinámica, completándolo cuatro segundos después del último mejor registro. Esto garantiza que el test medirá la mejor velocidad posible, aunque la conexión tarde un tiempo en establecerla.

Protección contra las perturbaciones de buffers intermedios

Medir con precisión la velocidad instantánea que se dibuja en la gráfica es realmente complejo. Incluso para las aplicaciones de escritorio, resulta complicado evitar las perturbaciones que introducen los buffers intermedios. Estos almacenan la información recibida por la interfaz de red y normalmente la pasan de forma inmediata a la aplicación, pero si el procesador está ocupado retrasará la entrega unos milisegundos. Cuando esto ocurre, la aplicación recibe de golpe muchos datos en un intervalo de tiempo muy corto, lo que crea picos de descarga que distorsionan la medición.

Para evitar este problema, testvelocidad.eu mantiene una matriz con los valores de velocidad obtenidos en el último segundo y calcula constantemente la moda de su contenido, descartando así los valores extremos que no han sido confirmados.

6 comentarios

  • Hola buenas
    me gustaria comentar algo que me estraña
    y es que el test de velocidad de ono marca unos 6500kbps
    y el test de velocidad.eu que se supone es de ono me da una velocidad de 21000kbps quisiera saber porque esta diferencia pues en realidad no se la velocidad real que tengo desearia me informaran que test de velocidad es el correcto muchas gracias

    5 noviembre, 2010 a las 21:23
    por CARMEN
  • Hola buenos dias, tengo dos lineas de 10 mb de telefonica, y estoy haciendo ADSL Bonding ( sumando adsl ), en descarga me va a casi 2000kbit/s, pero en el test de velocidad me da 13600kbps, no lo entiendo, si hago el test con cada router, cada uno me da unos 8000kbps de media, entre los dos deberia dar mas o menos 16000kbps, yo creo que los test de velocidad no funcionan bien con mi sistema, ya que lo que necesitan yo creo que es poner un archivo mas grande ah descargar para que le de tiempo a los dos routers a ponerse al maximo de velocidad, yo creo que es eso por lo que no me llega nunca a dar lo que deberia, lo que tengo hecho se trata de un balanceador configurado como sumador de adsl, y el va dando velocidad segun haga falta progresivamente, pero creo que no le da tiempo a ponerse al maximo por lo rapido que termina el test.

    Simplemente lo comento porque habra mas de una persona como yo que se haya configurado algo similar.

    Gracias y saludos
    Jose Manuel Garcia
    World X Computers.

    10 noviembre, 2010 a las 11:31
    por Jose Manuel
  • ¿Alguien puede decirme cómo descargo e instalo este
    controlador de velocidad de descargas TESTVELOCIDAD.EU…?

    26 diciembre, 2010 a las 18:59
    por Francisco
  • Hola

    21 febrero, 2012 a las 09:41
    por Regli
  • http://testvelocidad.eu/banner/201202/1no3b-2f59.jpg

    esta velocidad esta bien??? esque soy nuevo en sto d internet

    23 febrero, 2012 a las 04:52
    por E L I C H E
  • quisiera ver la velocidad de mi pagina msm,facebook y de mi hotmail

    5 abril, 2012 a las 02:34
    por raul ricardo laguna

Deja un comentario