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.