Por qué una VPN se siente lenta durante las subidas: retardo de cola
Una transferencia rápida aún puede hacer que las llamadas se entrecorten cuando los paquetes esperan en una cola. Compare los tiempos de ida y vuelta en reposo y con carga antes de culpar al extremo de la VPN.
Empieza a subir una copia de seguridad, el contador de transferencia parece saludable y la videollamada se convierte en papilla. El enlace no carece de ancho de banda en el sentido que sugiere ese número; los paquetes esperan en una cola en algún lugar y los interactivos quedan detrás de los datos masivos. Eso es el retardo de cola, comúnmente llamado bufferbloat. Una VPN puede añadir su propia cola, pero rara vez inventa el problema sola.
Ancho de banda y retardo son mediciones distintas
El rendimiento responde cuántos datos se mueven por segundo, mientras que el retardo responde cuánto tarda un paquete en cruzar el camino. Un enlace saturado puede mantener una gran acumulación y aun así informar de buen rendimiento, porque la cola se vacía a la velocidad de la línea cuando termina la ráfaga. El tráfico interactivo sufre primero, ya que una llamada necesita un paquete cada pocos milisegundos, no un archivo grande al final. Por eso, medir solo el resultado de una prueba de velocidad oculta el síntoma que le hizo mirar.
Fíjese también en la dirección bajo carga. Un búfer de subida lleno puede retrasar todo lo demás mientras la capacidad de bajada queda inactiva.
Mida el tiempo de ida y vuelta bajo carga
Tome una línea base en un enlace tranquilo y luego repita la misma medición mientras se ejecuta una transferencia controlada. Compare las dos ejecuciones en lugar de los números absolutos.
ping -c 20 -i 0.2 203.0.113.5
dd if=/dev/zero bs=1M count=50 | ssh [email protected] "cat > /dev/null"El primer comando muestrea el tiempo de ida y vuelta, y el segundo crea una subida sostenida sin necesidad de un servicio de prueba de velocidad. Una línea base que se mantiene plana seguida de una ejecución con carga que sube cientos de milisegundos es la firma que hay que buscar. Algunas redes bajan la prioridad del ICMP, así que trate el ping como una pista y confírmelo con la visualización de latencia de la propia aplicación. Mantenga la prueba corta en enlaces con límite de datos, porque un contraste repetible importa más que una saturación larga.
Mueva la cola a donde está el cuello de botella
La gestión de colas solo ayuda en el dispositivo que realmente contiene la acumulación. Inspeccione qué hace la interfaz antes de añadir reglas.
tc -s qdisc show dev eth0
tc qdisc replace dev eth0 root fq_codelEl comando show informa de la disciplina actual además de los contadores de acumulación y descartes, lo que le dice si esta interfaz es el cuello de botella o solo deja pasar tráfico. Sustituir la disciplina raíz por un algoritmo de cola justa da a los flujos cortos su propio turno en lugar de una sola FIFO compartida con datos masivos. Aplíquelo en la interfaz WAN del router cuando el router sea el cuello de botella, no en el dispositivo del túnel por costumbre. Conserve la configuración anterior y vuelva a probar tanto la capacidad de respuesta bajo carga como la velocidad de transferencia, porque una velocidad masiva algo menor es un buen intercambio por llamadas utilizables.
Qué cambia el túnel y qué esconde
Una VPN añade cifrado y un salto más, y también oculta los flujos individuales al equipo fuera del túnel. Eso importa cuando un dispositivo anterior ofrece priorización por aplicación, ya que ve paquetes cifrados en lugar de las conversaciones originales. Un router que termina el túnel por sí mismo tiene una vista y una carga de trabajo distintas y puede clasificar dentro de él. Ninguna de las dos disposiciones elimina la cola en el enlace de acceso, que suele ser donde se acumula el retardo.
Si el retardo no sigue la carga, deje de ajustar colas y mire en otro sitio: condiciones del Wi-Fi, problemas de tamaño de paquete o una salida deficiente. Los ajustes de cola aplicados sin medición solo trasladan el misterio.