Saltar al contenido

Tormenta ​

La pantalla Tormenta es una fuente de carga: envía datagramas UDP, o abre conexiones TCP, contra un destino tan rápido como pidas, durante tanto tiempo como pidas, y mide lo que realmente salió. Úsala para ver cómo aguanta tu propio servidor, dispositivo o enlace bajo una inundación: si sigue respondiendo, si descarta paquetes o si se cae.

Uso responsable

Una tormenta envía tráfico real a un host real. Apúntala solo a hosts y redes que sean tuyos o que estés autorizado a probar. Los ritmos altos pueden saturar los enlaces para todos los que los usan y disparar la detección de intrusiones. El motor no limita el ritmo de una tormenta: 0 significa tan rápido como este equipo pueda enviar.

Iniciar una tormenta ​

  1. Define Host:puerto de destino: el IP:port o host:port al que enviar, como 127.0.0.1:9000 o test-rig.local:9000. Un nombre de host se resuelve cuando la lanzas, y se toma su dirección IPv4 cuando la tiene.
  2. Elige el Protocolo: Inundación UDP o Inundación de conexiones TCP.
  3. Define Carga útil (bytes), Tasa, pps y Duración, s.
  4. Pulsa Lanzar tormenta.

La tormenta funciona como una tarea: aparece en la franja de la consola, y se detiene cuando termina su duración, cuando pulsas Detener tormenta o con Detener todo. Los campos quedan fijos mientras funciona.

CampoQuéPredeterminado
Host:puerto de destinoIP:port o host:port del destino.127.0.0.1:9000
ProtocoloInundación UDP: datagramas separados. Inundación de conexiones TCP: una conexión TCP nueva por cada «paquete».Inundación UDP
Carga útil (bytes)Bytes en cada datagrama o conexión, 1–65 507. Un valor mayor o menor se lleva a ese intervalo.512
Tasa, ppsPaquetes (o conexiones) por segundo a los que aspirar. 0: tan rápido como sea posible.1000
Duración, sSegundos que dura. 0: hasta que la detengas.10

Inundación UDP ​

Signal Lab envía datagramas del tamaño de la carga útil, con cada byte 0x55, desde un puerto propio al destino. Un envío que el sistema rechaza cuenta como error, por ejemplo después de que el destino respondiera que no hay nada escuchando en ese puerto.

Inundación de conexiones TCP ​

Por cada «paquete», Signal Lab abre una conexión TCP al destino, escribe la carga útil y la cierra. Las conexiones se hacen una tras otra, no a la vez, así que el ritmo que alcanza una tormenta TCP está limitado por la rapidez con la que el destino las acepta. Una conexión que se rechaza, o que no se acepta en 500 ms, cuenta como error; una conexión que aceptó la carga útil cuenta como paquete.

Cómo se mantiene el ritmo ​

El ritmo es un calendario. El primer paquete sale de inmediato, y el paquete n vence n ÷ Tasa, pps segundos después del inicio. Cada vez que la tormenta se despierta, envía lo que vence, y luego duerme hasta que venza el siguiente paquete. Así, 50 por segundo son 50 por segundo y 250 son 250 —una ejecución de un segundo envía más o menos esa cantidad—, sea cual sea la granularidad del temporizador del sistema. Una Duración, s termina la tormenta a tiempo incluso cuando el siguiente paquete vencería más tarde.

Una tormenta nunca envía por encima de su ritmo para recuperar el tiempo perdido. Si este equipo, o un destino TCP que acepta despacio, se retrasa más de 256 paquetes, los más antiguos se descartan del calendario en lugar de enviarse tarde en una ráfaga. PPS muestra lo que se alcanzó.

Con Tasa, pps 0 no hay calendario: la tormenta envía 256 paquetes, deja que se ejecute otro trabajo y envía los siguientes 256, tan rápido como este equipo pueda.

Leer el rendimiento ​

Rendimiento en directo se actualiza cuatro veces por segundo:

MétricaQué
PaquetesDatagramas enviados, o conexiones que aceptaron la carga útil, desde el inicio.
PPSPaquetes por segundo en el último cuarto de segundo.
TasaMegabits por segundo de carga útil en el último cuarto de segundo. Los encabezados (IP, UDP, TCP) no se cuentan.
VolumenBytes de carga útil enviados desde el inicio.
ErroresEnvíos o conexiones que fallaron.

El gráfico que hay debajo representa PPS durante el último minuto.

Cuando termina la tormenta, los contadores muestran los totales finales, y PPS y Tasa pasan a 0.

Lo que te dicen los números:

  • PPS muy por debajo de Tasa, pps en UDP: este equipo no puede enviar más rápido. Baja el ritmo o el tamaño de la carga útil.
  • Errores subiendo en UDP: el puerto del destino está cerrado, o la red rechaza el tráfico.
  • Errores subiendo en TCP: el destino rechaza conexiones o tarda más de 500 ms en aceptarlas; puede que haya alcanzado su límite.

Una tormenta dice cuánto salió, no cuánto llegó. Para ver lo que recibió el destino, obsérvalo: sus propios registros, un monitor OSC o un emulador en su lugar.

En el Inspector ​

Con la captura activada, una tormenta UDP pone uno de sus datagramas en el Inspector cada segundo, marcado sampled 1/s: son todos iguales. El veredicto también dice cuántos se dejaron fuera desde el anterior, como sampled 1/s · +999 not shown. Una tormenta TCP no pone ninguno.

  • Degradación: un enlace lento o con pérdidas en lugar de una inundación.
  • HTTP: ráfagas de carga de solicitudes HTTP, con latencias.
  • Carga: carga HTTP en un experimento, con umbrales.