因此,我创建了一个 Linux 资源监控工具,用于提取各种资源信息。我尝试提取的字段之一是我的 NIC 上的网络吞吐量百分比。因此,如果我有一个 1 Gb(位)NIC,每秒处理 200 Mb(位),则该工具将显示 20%。下面是基本计算的示例。
sar -n DEV 1 1 #Used to pull Rx and Tx KB(byte) per second.
从这里假设它报告总共 17000 KB(字节)。然后我需要将其转换为 Kb(位)。所以我将执行以下操作。
17000 * 8
这样一来,总共有 136000 Kb(位)。我需要将其转换为 Mb(位),以获取实际 NIC 速度的百分比。
136000 / 1000
我将其除以 1000,将其转换为 Mb(位)。总计现在是 136 Mb。从这里我需要根据我的 NIC 获得一个百分比。我有一个 1Gb(位)NIC。
136 / 1000 (NIC speed in Mb) * 100
这相当于 13.6%
因此,粗略计算一下,我的 NIC 处理能力仅为供应商所述处理能力的 13.6%。
我的问题如下。如果这是错误的网站,请转发给我,因为这是部分网络、部分数学和部分 Linux/OS 报告,所以我不确定该使用什么。谢谢
- 我的推理有缺陷吗?例如,我如何计算出我的百分比是否正确
- 显然我永远无法达到 100%(理论上),但这些信息对于发现网络中的潜在瓶颈不是很有用吗?
- 在我的工具中显示这些信息的利弊是什么?我曾听人说这毫无意义且容易出错,但我始终不明白他们的理由。
答案1
正如 fruglemonkey 所说,1 秒不是一个好选择。至少尝试 5 秒平均值。这将有助于获得更一致的图表。当然,您可以同时显示两个数据 ;-)
我看不出你的数学有什么问题。但我建议你也跟踪一下数据包的数量。这个指标对于理解问题非常重要。在互联网链接流量较低的情况下达到 pps 限制的情况并不罕见(例如 DDoS)。
带宽也是一个很好的指标。我喜欢在监控中看到这个图表。我看不到坏的一面,不能把它展示给网络管理员。