A seguir, é apresentada a fórmula que estou usando para calcular a taxa de transferência de E / S da rede:

Network I/O throughput =  (number_of_bytes_transmitted+received)/(time_spent) 

O valor para os campos number_of_bytes_transmitted e number_of_bytes_received é recuperado analisando o arquivo /proc/net/dev

Saída de amostra (truncada):

Interface | Receive | Transmit
. | bytes packets | bytes packets
eth0 | 85775472 149166 | 13399430 121977

Portanto, number_of_bytes_transmitted = 85775472
e number_of_bytes_received = 13399430

Agora, para o campo 'time_spent'. Eu acredito que é o tempo total gasto na transmissão e recebimento de bytes, como se houvesse dois pontos, digamos A e B, o tempo gasto deve ser

                                  (bytes)

                       A -------------------------> B

                        <-------------------------
                              (time taken)

Está correto? E se for, então como determinar esse valor?

Além disso, existe outra maneira melhor de calcular a taxa de transferência de E / S de rede de um host KVM, do que a fórmula mencionada acima?

Pesquisei minuciosamente na internet, mas não consegui encontrar uma solução.

Todas as sugestões serão muito apreciadas.

niladri chakrabarty
fonte