Seguimiento del ancho de banda y la latencia en Linux

Seguimiento del ancho de banda y la latencia en Linux

Estoy intentando escribir un script simple que pueda detectar caídas en el tráfico de la red (tanto en el ancho de banda como en la latencia en ambas direcciones) entre 2 hosts arbitrarios en mi red a lo largo del tiempo. ¿Existe alguna herramienta para hacer esto?

Si es necesario, planeo escribir un par de scripts cliente/servidor en bash para realizar esta prueba usando nc(netcat), pero si una solución preexistente captura lo que estoy tratando de hacer, hágamelo saber.

Primero, determinaré cuántos datos puedo enviar en 1 segundo entre mis hosts arbitrarios. A esto lo llamaremos "carga útil". Las pruebas iniciales muestran que la carga útil es de ~50 MB.

Luego ejecutaré lo siguiente:

  1. El cliente envía la carga útil al servidor.
  2. Cuando el servidor reciba la carga útil completa, responderá inmediatamente enviando una carga útil al cliente.
  3. Cuando el cliente reciba toda la carga útil, dormirá durante 30 segundos. Ir a 1.

Al hacerlo, recibiré los siguientes datos (ancho de banda bidireccional y latencia):

  1. Al registrar la timeejecución ncdel cliente al servidor en (1), obtendré el ancho de banda para enviar datos del cliente al servidor.
  2. Al registrar la timeejecución ncdel servidor al cliente en (2), obtendré el ancho de banda para enviar datos del servidor al cliente.
  3. De alguna manera determinaré la latencia del paquete, tal vez usando una herramienta de monitoreo o diferenciando las marcas de tiempo entre el primer paquete de la carga útil enviado desde el origen y el primer paquete de la carga útil recibido en el destino.

Respuesta1

iPerf es una buena herramienta para pruebas de rendimiento. En lugar de escribir un script para monitorear la carga de la manera que usted propone, miraría Nagios (e integraría PNP4Nagios, que clasificará las notificaciones por usted y le proporcionará gráficos de rendimiento a lo largo del tiempo.

Me pregunto qué tan práctico es mover datos entre hosts como este de manera constante y a largo plazo, ya que esto desperdicia el ancho de banda que de otro modo estaría disponible. ¿No sería mejor monitorear el rendimiento real del enlace y correlacionarlo con la latencia y la pérdida de paquetes para determinar si está obteniendo lo que está pagando cuando lo necesita? (He "abofeteado" a los ISP que, jugando el juego más antiguo del libro de ISP, intentaron insistir en que el problema no estaba en su red más de una vez al usar esto, especialmente al monitorear múltiples puntos)

Observo que si bien la latencia, la pérdida de paquetes y el rendimiento no dependen totalmente entre sí, existe (para un enlace con características conocidas/contratadas/esperadas) una correlación entre estos factores.

Respuesta2

Necesitas comprobarlo.iperfhace lo que necesitas.

Según mi comprensión de sus preguntas, creo que debería hacerlo.

información relacionada