Ниже приведена формула, которую я использую для расчета пропускной способности сетевого ввода-вывода:
Network I/O throughput = (number_of_bytes_transmitted+received)/(time_spent)
Значение для полей number_of_bytes_transmitted и number_of_bytes_received получается путем анализа файла /proc/net/dev
Пример вывода (усеченный):
Interface | Receive | Transmit
. | bytes packets | bytes packets
eth0 | 85775472 149166 | 13399430 121977
Итак, number_of_bytes_transmitted = 85775472
и number_of_bytes_received = 13399430
Теперь для поля 'time_spent'. Я считаю, что это общее время, потраченное на передачу и получение байтов, например, если есть две точки, скажем, A и B, time_spent должно быть
(bytes)
A -------------------------> B
<-------------------------
(time taken)
Это правильно? И если это так, то как определить это значение?
Кроме того, существует ли какой-либо другой лучший способ для расчета пропускной способности сетевого ввода-вывода узла KVM, чем формула, которую я упоминал выше?
Я тщательно искал в Интернете, но не смог найти решение.
Любые предложения будут высоко оценены.