如何testing两点之间的真实networking吞吐量?

什么是一些更好的工具/实用程序来testing链路上的实际带宽? 在我的情况下,我正在testing无线网桥的真实吞吐量。

我发现iperf是testing点对点带宽的更有用的工具之一。 它有很多选项来testingtcp / udp,用udp它可以告诉你有多less抖动。 iperf的端口几乎适用于每个操作系统。

我也喜欢用NDT进行testing,但是与iperf一样工作起来并不容易,因为NDT基本上必须设置为某个服务器,并且客户端必须安装了java。

我会用/ dev / urandom(或者/ dev / zero来testing设备的压缩,如果有的话)使用两个* nix机器。

在一台机器上监听并pipe道到/ dev / null

nc –l –p 7000 | /dev/null 

在另一端连接并输送100MiB的随机数据

 dd if=/dev/urandom bs=1M count=100 | nc 192.168.1.120 7000 –q 10 

对于实时统计使用pipeviewer

 dd if=/dev/urandom bs=1M count=100 | pv | nc 192.168.1.120 7000 -q 10 

这是一个蛮力和无知的方法…

许多命令行FTP客户端都会报告传输统计信息,因此您可以简单地使用FTP来获取或放置足够大的文件,以使统计信息有意义。

IxChariot 。 不是免费的,但它可以模拟各种交通。 SmallNetBuilder.com使用它进行产品testing。

你认为“真正的networking吞吐量?” 这完全取决于您的networkingfunction和用户的需求。

例如,如果您有六个用户不允许stream式传输video/audio或传输文件,则带宽不会成为networking性能的定义属性。 在这种情况下,一旦你的标准stream量有足够的带宽,更多的只是浪费。

基准对于确定networking中的薄弱环节非常有用,但除非它们模仿用户的stream量模式,否则不应将其作为用户体验的反映。

如果你只是想弄清楚在无线网桥跌落之前你能通过多less带宽,你真的无法击败iperf和FTP(尽pipe你可能需要同时testing几台机器)。 还记得testingbidrectionalstream量。

如果您有兴趣计算预期的用户体验,则需要更多信息。

我已经使用PCATTCP来testing吞吐量。 程序被设置为在一台计算机上接收,然后另一台计算机发送。

http://www.pcausa.com/Utilities/pcattcp.htm

您可以使用D-ITG软件。 它是免费的,可以从http://www.grid.unina.it/software/ITG/下载

我用它来testing连接在不同操作系统的networking上的几台计算机。 吞吐量,抖动和延迟可以很容易地测量。

一个商业的select是Netrounds(www.netrounds.com)。 这是一个云服务(SaaS),这意味着没有投资。 还有30天的免费试用。

它使用有源探头设备,很容易下载。 这些探针使用优化的Linux内核,以实现最高的性能和最佳的networking硬件控制。

Netrounds可以使用标准PC硬件生成和测量高达10 Gbit / s的TCP和UDP(甚至多播)。 支持VLAN和多个QoSstream。