假设我有一台带有 3 个 NIC 的机器;wifi、eth 和 3G。我试图获得链路可以在给定时间为每个接口传输的估计速度(或带宽),并确定哪个接口最快。在给定的时间再次。我正在编写一个 linux 内核模块。我正在使用内核版本 2.6.35。有没有办法测量可用带宽?即使这意味着发送一个测试 ping 来测量我们在测量延迟时所做的事情......
问问题
3219 次
3 回答
2
iperf 可以帮助您测量实际带宽 http://sourceforge.net/projects/iperf/
于 2012-04-19T17:22:11.357 回答
0
实际上,这是一个难题。如果您知道所有三个 NIC 都连接到一个公共站点,那么显而易见的直接测试是通过每个 NIC 传输一些数据并为它们计时。
但是,考虑到一般问题的难度,通过每个 NIC 广播 UDP 并计时可能“足够好”。这无法揭示任何接收性能,但总比没有好。
于 2012-04-19T17:22:22.430 回答
0
在 Linux 上,您应该阅读 /proc/net/dev (您已发送的总包/字节数。在您的“开始”和“结束”时间获取这些数字)
http://linuxdevcenter.com/pub/a/linux/2000/11/16/LinuxAdmin.html http://www.linuxjournal.com/article/8381
(来源:How can I get the current network interface throughput statistics on Linux/UNIX?)
于 2012-04-19T18:41:11.873 回答