以下是我用来计算网络 I/O 吞吐量的公式:
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
因此,传输的字节数 = 85775472
,接收的字节数 = 13399430
现在,对于字段“time_spent”。我相信它是传输和接收字节所花费的总时间,例如,如果有两个点,比如 A 和 B,time_spent 应该是
(bytes)
A -------------------------> B
<-------------------------
(time taken)
这是正确的吗?如果正确,那么如何确定这个值?
另外,除了我上面提到的公式之外,还有其他更好的方法来计算 KVM 主机的网络 I/O 吞吐量吗?
我已在互联网上彻底搜索过,但未能找到解决方案。
任何建议都将受到高度赞赏。