¿Existe alguna forma de obtener métricas de CPS y Thruoghput en Linux?

¿Existe alguna forma de obtener métricas de CPS y Thruoghput en Linux?

Quiero analizar la carga de trabajo de la red de mi servidor Debian 9 para detectar algunas posibles sobrecargas de la red.

Las principales métricas que necesito analizar son:

  • CPS (conexiones por segundo)
  • Rendimiento

¿Hay alguna manera de obtener estas métricas desde Linux?
Pensé que la métrica de CPS podría obtenerse de alguna manera a través de NEWeventos de conexiones de conntrack, pero no estoy seguro de que esta sea la forma más adecuada.

Lo siento si es obvio.

PD: este servidor no solo maneja el tráfico local, sino que también reenvía una gran cantidad de tráfico.

Respuesta1

Creo que sería suficiente describir los orígenes de estas métricas basándose en la API nativa de Linux.


Rendimiento

Por cierto, elrendimientoLa métrica en general es algo, es decir.externoen relación con el objeto de prueba (OS Linux del que estás hablando). Es decir, en términos generales, tenemos dos hosts (por ejemplo, cliente y servidor) y un objeto de prueba entre ellos. Soplamos el tráfico de red entre el cliente y el servidor y registramos el rendimiento (límite) del objeto de prueba (por ejemplo, coniperf).
Pero desde el sistema operativo Linux, una forma sencilla de medir el rendimiento es solo por interfaz.
Entonces puedes simplemente mirar/proc/net/devy calcular eldelta de bytes por segundo:

sh-tst# cat /proc/net/dev 
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo: 87016202  715723    0    0    0     0          0         0 87016202  715723    0    0    0     0       0          0
  eth3:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
  eth2:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
  eth1: 246415305 2899662    0 132906    0     0          0       230  5466117   19016    0    0    0     0       0          0
  eth0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0

CPS

Lo mismo ocurre con la métrica CPS. Básicamente es una medida externa. Pero desde tu Linux puedes intentar calcularlo basándose en /proc/net/stat/ip_conntrack:

sh-tst# cat /proc/net/stat/ip_conntrack 
entries  searched found new invalid ignore delete delete_list insert insert_failed drop early_drop icmp_error  expect_new expect_create expect_delete search_restart
000000f8  00001742 0003142f 0001e85a 00000079 00021333 0001e6cf 00003a3d 00003bc5 00000000 00000000 00000000 00000000  00000000 00000000 00000000 00000000
000000f8  00002389 0005f1a0 0003b6f3 00000085 0004286f 0003b59e 00003cea 00003e3f 00000000 00000000 00000000 00000000  00000000 00000000 00000000 00000000
000000f8  000002c0 00037a77 00000714 00000000 000382cb 00000825 00000724 00000616 00000000 00000000 00000000 00000000  00000000 00000000 00000000 00000000
000000f8  00000225 00026cf9 00000271 00000000 00026e48 00000348 000002bd 000001e6 00000000 00000000 00000000 00000000  00000000 00000000 00000000 00000000

Delnstat(8)hombre:

/proc/net/stat/ip_conntrack, /proc/net/stat/nf_conntrack Contadores relacionados con Conntrack. ip_conntrack es solo para compatibilidad con espacios de usuario anteriores y muestra los mismos datos que nf_conntrack.

...

Nuevo número de entradas de conntrack agregadas que no se esperaban antes.

En el seguimiento de conexiones de Linux:

NUEVO: significa que el paquete ha iniciado una nueva conexión, o está asociado de otro modo con una conexión que no ha visto paquetes en ambas direcciones, y

Entonces parece que quieres calculardelta newpor segundo.

Leer más:

Respuesta2

El comando sar que viene con sysstat hará ambas cosas.

Para monitorear conexiones por segundo sar -n TCP 1

activo/s son las conexiones TCP salientes pasivo/s son las conexiones TCP entrantes

para UDP sar -n UDP 1

Para ver el rendimiento de la red sar -n DEV (opcionalmente agregue un 1 para monitorear la corriente por segundo)

información relacionada