我需要测量多个服务器之间的数据包的数据速率。我需要服务器之间的成对带宽(如果可能的话,甚至是端口),而不是每个服务器上每个接口的总体数据速率。
输出示例
时间戳 | 服务器A到B | 服务器B到A | 服务器A到C | 服务器C到A |
---|---|---|---|---|
0 | 1 | 2 | 1 | 5 |
1 | 5 | 3 | 7 | 1 |
我尝试或想到的
- tcpdump - 我正在捕获所有数据包并寻找
ip.len
获取数据速率。在我开始与 TC 一起测试之前,它运行得很好。事实证明,tcpdump 在比 TC 更低的层捕获数据包。所以,我用它测量的带宽看不到TC设置的限制。 - netstat - 我尝试通过
grep
ing 输出并查看Recv-Q
和Send-Q
列来使用它。但后来我发现它报告已接收并缓冲的字节,等待使用此连接的本地进程读取和使用它们。我将无法使用它们来获取正在使用的带宽。 - iftop - 令人惊叹的 GUI,拥有我需要的所有东西。但没有办法以良好的方式处理输出。由于存储的额外文本量过多,也可能导致存储空间不堪重负。
- bwm-ng - 提供每个服务器上每个接口的总体数据速率,但不是成对的。
如果还有其他方法可以实现我的需求,请告诉我。在此先感谢您的帮助。