如何计算网络I/O吞吐量?

如何计算网络I/O吞吐量?

以下是我用来计算网络 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 吞吐量吗?

我已在互联网上彻底搜索过,但未能找到解决方案。

任何建议都将受到高度赞赏。

相关内容