对于我有的testing设置,我需要通过一个“路由器”*大约5秒或更less(亚秒间隔将是非常好的,但不是必需的)定期监测吞吐量。 理想情况下,我将能够生成一个文件,其中包含在每个间隔期间看到的字节数和数据包。 我最终将从这些数据中产生一个时间序列的吞吐量。
在之前使用旧版本FreeBSD的设置中,有一个名为“bpfmon”的工具,它提供了这个信息。 但是,我需要在现代版本的Linux(即Ubuntu 11.04)下进行此操作。
我已经看过iptraf和iftop ,但是这些似乎并没有提供我所需要的解决scheme,也不能轻易地让我抓取所需的数据。 我知道iptables统计可能能够给我什么我后,但我看到这样的例子似乎依靠反复阅读和重置stream量计数器,这似乎可以给不准确的读取/重置不是primefaces操作。 我已经在我想要监视的链接上捕获了我感兴趣的stream量的tcpdump跟踪,所以我打开了parsing该stream程的方法。
我觉得这一定是一个普遍的问题,所以我希望能有一个标准的“最佳实践”工具来完成这个工作。
*我在引号中说“路由器”,因为我真的在谈论有两个桥接网卡的机器,通过这个网卡,我感兴趣的所有stream量都能通过。
所有的方法将最终导致重复的计数器读取操作。 通常情况下,你不会重置计数器(只是因为你提到的原因 – 你可能会因为竞态条件而失去计数),但将收集到的值与前一个样本中的值进行比较。
但是由于您已经在使用tcpdump来保存连接数据,因此您可以在graphics模式下使用tcptrace之类的function来使您的数据可视化。
如果你只是快速需要一些吞吐量/数据包数据,你可以简单地使用tcpstat 1
你为什么不用iptraf再试一次? 进入Configure / Timers … / Screen update interval …菜单并input1(1秒采样频率)。 顺便说一句,如果网卡被桥接,它不会被称为“路由器”。 这将是一个桥梁,或者也许是一个开关。