【精选翻译】在这篇介绍几个Linux网络测试实用程序的文章中,我们使用Bandwidthd、Speedometer、Nethogs、Darkstat和iperf来跟踪带宽使用情况和网络速度,找到网络猪,和测试性能。BandwidthdBandwidthd是一个有趣且易于使用的应用程序,自2005年以来一直没有更新,但它仍然有效,至少在我的Kubuntu系统上是这样。它以漂亮的彩色图表显示您的传入和传出带宽使用情况,并在网页上按日、周、月和年进行统计。因此,您还需要一个Apache服务器或其他一些HTTP服务器。您可以监控单台计算机或LAN上的所有人。如果您需要关注带宽限制,这是一款用于跟踪每月带宽使用情况的出色应用。图1:BeautifulBandwidthd图形Bandwidthd几乎没有文档。manbandwidthd列出其所有配置文件和目录。它的Sourceforge页面内容更多***。现在有两个版本:bandwidthd和bandwidthd-pgsql。Bandwidthd每150秒生成一次静态HTML页面,而bandwidthd-pgsql在动态PHP页面上显示图形和数据。该网页称“两个版本的视觉输出相似,但数据库驱动的系统允许用户搜索、过滤、监控多个传感器并创建自定义报告。”我认为,如果要搜索、过滤、监控多个传感器或创建自定义报告,则必须更改PHP文件。多亏了Debian和Ubuntu软件包维护者,在我的系统上安装很容易。它创建了Apache配置,并安装了PostgreSQL,然后我所要做的就是打开一个Web浏览器并浏览到http://localhost/bandwidthd,除了在配置文件中,它没有在任何地方记录,所以你***听到关于这里的URL。相关链接:http://bandwidthd.sourceforge.net/SpeedometerSpeedometer在控制台上显示实时图表(因此您不需要Web服务器),显示数据在您的网络连接中移动的速度,它还可以回答“我的硬盘有多快”的问题。最简单的用法显示每秒接收或传输的字节数。这称为分流器:$speedometer-reth0您可以通过创建两个分流器来监控双向流量:$speedometer-reth0-teth0默认情况下是堆叠分流器。-c选项改为生成漂亮的列,-k256显示256种颜色而不是默认的16种颜色,如图2所示。$speedometer-reth0-c-teth0图2:Speedometer以256种颜色和多种颜色跟踪传入和传出的流量columns创建原始文件需要多长时间:$ddbs=1000000count=1000if=/dev/zeroof=testfile&speedometertestfile改变count值生成不同大小的文件;例如,count=2000创建一个2GB的文件。您还可以尝试更改不同的块大小(bs),看看是否会有所不同。完成后请记住删除测试文件,除非您想将大而无用的文件留在那儿。相关链接:http://www.linux.com/speedometerNethogsNethogs是一个简单的控制台应用程序,它显示每个进程的带宽,因此您可以立即看到谁在占用网络资源。最简单的调用指定您的网络接口,然后它显示入站和出站数据包:$sudonethogseth0NetHogsversion0.8.0PIDUSERPROGRAMDEVSENTRECEIVED1703carlassheth09702.096381.697KB/sec5734www-data/usr/bin/fieeth01.30259.301KB/sec13113carla..firelib20KB/firefox0/sec2462carla..oobar/lib/foobareth00.0000.000KB/sec?rootunknownTCP0.0000.000KB/secTOTAL9703.419441.021KB/sec使用-r选项只显示接收到的数据包,使用-s选项只查看发送的数据包。相关链接:http://nethogs.sourceforge.net/DarkstatDarkstat是另一个基于Web的网络监控工具,但它包含自己的嵌入式HTTP服务器,因此您不需要Apache。以网络接口名称作为唯一选项启动它:$sudodarkstat-ieth0然后打开Web浏览器并浏览到http://localhost:667,您应该会看到如图3所示的内容。图3:Darkstat的默认显示单击自动-重新加载按钮让它实时更新。“主机”选项卡显示您已连接、已连接多长时间以及在您之间传输了多少数据(以字节为单位)。您可以将Darkstat作为守护进程运行,并让它在系统启动时启动。如何执行此操作取决于您的Linux发行版和您使用的初始化系统(Upstart、systemd、sysvinit和BSDinit)。你必须自己弄清楚。相关链接:http://unix4lyfe.org/darkstat/iperf读者一定在想“为什么没有iperf?”。好吧,现在让我们谈谈iperf。iperf报告带宽、延迟抖动和数据报丢失。换句话说,它测试的是网络链接质量,这对于音乐、视频和视频会话等流媒体很重要。您需要在要测试的链接的两端安装iperf:在本例中为Studio和Uberpc。然后在一台主机上,以服务器模式启动iperf;在另一台主机上,以客户端模式运行iperf。注意:在客户端机器上,您必须命名服务器。这是运行测试的最简单方法:carla@studio:~$iperf-sterry@uberpc:~$iperf-cstudiocarla@studio:~$iperf-s---------------------------------------------------------服务器监听TCPport5001TCPwindowsize:85.3KByte(默认)-------------------------------------[4]local192.168.1.132port5001connectedwith192.168.1.182port32865[ID]IntervalTransferBandwidth[4]0.0-10.0sec1.09GBytes938Mbits/secterry@uberpc:~$iperf-cstudio-----------------------------------------------------------Clientconnectingtostudio,TCPport5001TCPwindowsize:22.9KByte(default)---------------------------------------------------------[3]local192.168.1.182port32865connectedwith192.168.1.132port5001[ID]IntervalTransferBandwidth[3]0.0-10.0sec1。09GBytes938Mbits/sec这是单向的,即从服务器到客户端。您可以从客户端测试双向性能:terry@uberpc:~$iperf-cstudio-d----------------------------------------------------------ServerlisteningonTCPport5001TCPwindowsize:85.3KByte(default)----------------------------------------------------------------------------------------------------------------Clientconnectingtostudio,TCPport5001TCPwindowsize:54.8KByte(default)-----------------------------------------------------[5]local192.168.1.182port32980connectedwith192.168.1.132port5001[4]local192.168.1.182port5001connectedwith192.168.1。132port47130[ID]IntervalTransferBandwidth[5]0.0-10.0sec1020MBytes855Mbits/sec[4]0.0-10.0sec1.07GBytes920Mbits/sec以上是千兆以太网的良好速度,接近理论最大速度,所以这告诉我们物理网络在良好的条件。当然,实际性能会有所下降,因为网络开销比这个简单的测试要大。现在,让我们看一下延迟抖动。使用Ctrl+c组合键停止服务器,然后使用iperf-su重新启动服务器。在客户端机器上,尝试:$iperf-cstudio-ub900m-b900m表示,以每秒900兆位运行测试,因此您需要针对您的网络调整此参数并测试不同的速度。像这样好的运行速度:[ID]IntervalTransferBandwidthJitterLost/TotalDatagrams[3]0.0-10.0sec958MBytes803Mbits/sec0.013ms1780/684936(0.26%)[3]0.0-10.0sec1datagramsreceivedout-of-order0.013msjitterisallitcanget最小延迟.超过1000毫秒,它会干扰音频和视频流。0.26%的数据报丢失率也很低。如果丢失率较高,则需要重新发送数据包,从而导致更长的延迟。iperf有一个新版本,即iperf3.0.1(http://code.google.com/p/iperf/)。这应该有一天会取代iperf2。新版本是从头开始重写的,所以它非常简洁,没有hacky,它包含一个可以在其他程序中使用的库版本。新版本仍然是一个新生产品,所以预计会有一些不完善之处。相关链接:http://iperf.sourceforge.net/原文链接:http://www.linux.com/learn/tutorials/765381-five-funny-little-linux-network-testers-and-monitors
