Есть ли способ получить показатели CPS и Thruoghput в Linux?

Есть ли способ получить показатели CPS и Thruoghput в Linux?

Я хочу проанализировать сетевую нагрузку моего сервера Debian 9, чтобы обнаружить возможные перегрузки сети.

Основные показатели, которые мне необходимо проанализировать:

  • CPS (подключений в секунду)
  • Пропускная способность

Есть ли способ получить эти метрики из Linux?
Я думал, что метрику CPS можно как-то получить через NEWсобытия conntrack соединений, но не уверен, что это будет самый правильный способ..

Извините, если это очевидно.

P.S. этот сервер обрабатывает не только локальный трафик, он также перенаправляет большой объем трафика.

решение1

Я думаю, будет достаточно описать происхождение этих метрик на основе собственного API Linux.


Пропускная способность

Кстати,пропускная способностьметрика вообще это что-то, то естьвнешнийпо отношению к объекту тестирования (ОС Linux, о которой вы говорите). То есть, грубо говоря, у нас есть два хоста (например, клиент и сервер) и объект тестирования между ними. Мы пропускаем сетевой трафик между клиентом и сервером и записываем (граничную) пропускную способность объекта тестирования (например, сiperf).
Но из ОС Linux мы можем измерить пропускную способность только по интерфейсу.
Так что вы можете просто смотреть/proc/net/devи вычислитьдельта байтов в секунду:

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. По сути, это внешнее измерение. Но из вашего Linux вы можете попытаться рассчитать его на основе /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

Отlnstat(8)мужчина:

/proc/net/stat/ip_conntrack, /proc/net/stat/nf_conntrack Счетчики, связанные с Conntrack. ip_conntrack предназначен только для обратной совместимости со старым пользовательским пространством и показывает те же данные, что и nf_conntrack.

...

Добавлено новое количество записей conntrack, которых раньше не ожидалось.

В отслеживании соединений Linux:

НОВЫЙ — означает, что пакет начал новое соединение или иным образом связан с соединением, которое не видело пакетов в обоих направлениях, и

Так что, похоже, вы хотите вычислитьдельта newв секунду.

Читать далее:

решение2

Команда sar, входящая в состав sysstat, сделает и то, и другое.

Для мониторинга подключений в секунду sar -n TCP 1

active/s — исходящие TCP-соединения, passiv/s — входящие TCP-соединения.

для UDP sar -n UDP 1

Чтобы посмотреть пропускную способность сети, введите sar -n DEV (при желании добавьте 1 для мониторинга текущей пропускной способности в секунду)

Связанный контент