Segue-se 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 ao analisar o arquivo /proc/net/dev
Exemplo de saída (truncado):
Interface | Receive | Transmit
. | bytes packets | bytes packets
eth0 | 85775472 149166 | 13399430 121977
Então, 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 recepção dos bytes, como se há dois pontos, digamos A e B, time_spent deve ser
(bytes)
A -------------------------> B
<-------------------------
(time taken)
Está correto? E se for, então como determinar esse valor?
Além disso, existe alguma outra maneira melhor de calcular a taxa de transferência de E / S da rede de um host KVM do que a fórmula mencionada acima?
Pesquisei bastante na internet, mas não consegui encontrar uma solução.
Qualquer sugestão será muito apreciada.
Tags networking linux