我在较旧的 Ubuntu 14.04 服务器上使用 vnstat 1.11。我的托管服务提供商每月给我一份合并上传和下载数据的账单。我试图更好地了解上传和下载数据之间的平衡(在较长时间内,,vnstat
)vnstat -m
以及任何时刻发生的情况(vnstat -l
,vnstat -h
)。到目前为止,一切进展顺利。
但是,vnstat 测量到的我的网络数据吞吐量明显低于我的提供商,大约少 5 倍(大约 200GB 对 1TB)。
我已经联系了我的供应商,尽管他们试图帮助查明问题,但他们认为问题出在我的测量上,而不是他们的测量上。
我尝试过的事情
- 安装另一个工具来更长时间地测量数据(我尝试过 slurm,但如果有更好的选择,请告诉我)。测量结果似乎大致相同。
- 检查另一个接口是否正在处理数据(不,有两个,但只有一个是外部的)
- 检查备份是否以某种方式进行测量(它们不是,快照不是网络流量)
- 测量数据输入/输出是否合理
最后一步很有趣:我测量了几个小时内磁盘空间的增加情况(我知道在这个时间段内没有删除任何(大)数据),并测量了同一时间段内的传入数据。它们几乎完全相同,所以至少上传测量似乎是可靠的。
任何建议:
- 验证下载测量结果?它们与办公时间同步(办公时间以外几乎没有下载流量),这与预期一致。
- vnstat 可能在哪里配置错误?
- 还有其他工具可以检查 vnstat 是否是罪魁祸首吗?
答案1
我知道了问题出在哪里,这确实是我的错。
解决方案
在/etc/vnstat.conf
,我改变了这一行
MaxBandwidth 100
到
MaxBandwidth 1000
我如何发现
我想深入研究一下这些杂乱无章的日志。我继承了这台维护不善的旧机器,因此花了一些时间来查看记录的大量噪音。在消除/修复了大部分消息并在剩余消息中寻找线索后,我偶然发现了以下条目:
vnstat: Traffic rate for "eth0" higher than set maximum 100 Mbit
事实证明,我的 1Gbit 连接被测量为 100Mbit。对于上传来说,这并不明显,因为它们很少(如果有的话)超过 100Mbit。然而,下载速度要快得多,但它们在 100Mbit 标记处被切断(因此任何比这更快的传输都不算在内)。
将其设置为 1000 后,测量值急剧上升,现在几乎与我的提供商报告的值相同。
为了较新版本的 vnstat,默认设置为 1000,但是这个古老的 14.04 安装附带的旧版本仍然有 100......