五款好玩又好用的Linux网络测试和监控工具


【51CTO精选译文】在这篇介绍几款Linux网络测试实用工具的文章中,我们使用Bandwidthd、Speedometer、Nethogs、Darkstat和iperf,跟踪带宽使用情况和网络速度、查找网络资源消耗大户,以及测试性能。

Bandwidthd

Bandwidthd是一款好玩又好用的应用程序,虽然自2005年以来就没有更新过,但是它仍很管用,至少在本人的Kubuntu系统上是这样。它以色彩鲜艳的漂亮图形显示了你的进出带宽使用情况,并且在网页上按日、周、月和年加以统计。所以,你还需要Apache服务器,或另外某台HTTP服务器。可以监控单单一台电脑,也可以监控局域网上的每个人。如果你需要关注带宽限量,这款优秀的应用程序可用于跟踪每月带宽使用情况。

图1:漂亮的Bandwidthd图形

Bandwidthd几乎没有任何说明文档。man bandwidthd列出了其所有配置文件和目录。它的Sourceforge页面上更是内容寥寥无几。现在有两个版本:bandwidthd和bandwidthd-pgsql。Bandwidthd每隔150秒生成静态HTML页面,而bandwidthd-pgsql在动态PHP页面上显示了图形和数据。网页上写道"两个版本的可视化输出结果很相似,但数据库驱动的系统允许用户进行搜索、过滤、监测多个传感器和创建自定义报表。"我认为,如果你想要搜索、过滤、监测多个传感器或创建自定义报表,就得改动PHP文件。在我的系统上安装很容易,这归功于Debian和Ubuntu程序包维护者。它创建了Apache配置,并安装了PostgreSQL,然后我要做的就是打开Web浏览器,浏览到http://localhost/bandwidthd,除了在配置文件中外,该网址没有记录在任何地方,所以你最先在这里听说该网址。

相关链接:种颜色,而不是默认的16种颜色,如图2所示。

1. $ speedometer  -r eth0 -c -t eth0

图2:Speedometer以256种颜色和多列跟踪进出的流量

你可以通过使用dd,创建一个1GB大小的原始文件,测量硬盘的原始写入速度,然后使用Speedometer,测量创建该原件文件需要多长时间:

1. $ dd bs=1000000 count=1000 if=/dev/zero of=testfile & speedometer testfile

更改count值,即可生成不同大小的文件;比如说,count=2000创建了一个2GB大小的文件。你还可以试着更改不同的数据块大小(bs),看看这有没有什么区别。记得完成后,务必要删除testfile,除非你喜欢任由毫无用处的大文件躺在那里。

相关链接:的结果。

图3:Darkstat的默认显示画面

点击自动重装按钮,即可让它实时更新。Hosts(主机)选项卡显示了你与相连接、你已连接了多长时间,以及你们之间已传送了多少数据(以字节数为单位)。

你可以将Darkstat作为守护程序来运行,并且让它在系统启动时开启。这一步怎么做取决于你的Linux发行版以及所使用的初始化系统(Upstart、systemd、sysvinit和BSDinit)。这方面你得自己搞清楚。

相关链接:兆比特的速度运行测试,所以你需要针对自己的网络调整这个参数,并且测试不同的速度。良好的运行速度如同这样:

1. [ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total

2. Datagrams

3. [  3]  0.0-10.0 sec   958 MBytes   803 Mbits/sec   0.013 ms 1780/684936

4. (0.26%)

5. [  3]  0.0-10.0 sec  1 datagrams received out-of-order

0.013毫秒抖动是它能得到的最短延迟。超过1000毫秒,就会干扰音频和视频流传送。0.26%的数据报丢失率也很低。如果丢失率更高,那样数据包需要重新发送时,会导致更长的延迟。

有一个新版本的iperf,那就是iperf 3.0.1(http://code.google.com/p/iperf/)。有朝一日,这应该会取代iperf2。新版本是从头开始改写的,所以它非常整洁,并不拙劣,它包括一个可用于其他程序的库版本。新版本仍是个新兴产品,所以预计会有不尽如人意的地方。

相关链接:http://iperf.sourceforge.net/

原文链接:http://www.linux.com/learn/tutorials/765381-five-funny-little-linux-network-testers-and-monitors

来源: <http://os.51cto.com/art/201403/431950.htm?foxhandler=RssReadRenderProcessHandler>

五款好玩又好用的Linux网络测试和监控工具的更多相关文章

  1. 恢复计算机崩溃数据的五款最佳Linux发行版

    嗨,Linux 新手们!你们在尝试运行命令时有没有搞坏过计算机系统?我相信你们有过这种经历.这一幕经常发生:你想尝试运行命令,或者安装测试更新版,结果下一次重启时计算机就崩溃了.我在本文将逐一介绍五款 ...

  2. 如何为编程爱好者设计一款好玩的智能硬件(八)——LCD1602点阵字符型液晶显示模块驱动封装(中)

    六.温湿度传感器DHT11驱动封装(下):如何为编程爱好者设计一款好玩的智能硬件(六)——初尝试·把温湿度给收集了(下)! 七.点阵字符型液晶显示模块LCD1602驱动封装(上):如何为编程爱好者设计 ...

  3. 如何为编程爱好者设计一款好玩的智能硬件(七)——LCD1602点阵字符型液晶显示模块驱动封装(上)

    当前进展: 一.我的构想:如何为编程爱好者设计一款好玩的智能硬件(一)——即插即用.积木化.功能重组的智能硬件模块构想 二.别人家的孩子:如何为编程爱好者设计一款好玩的智能硬件(二)——别人是如何设计 ...

  4. 如何为编程爱好者设计一款好玩的智能硬件(十)——无线2.4G通信模块研究·一篇说完

    六.温湿度传感器DHT11驱动封装(下):如何为编程爱好者设计一款好玩的智能硬件(六)——初尝试·把温湿度给收集了(下)! 七.点阵字符型液晶显示模块LCD1602驱动封装(上):如何为编程爱好者设计 ...

  5. 如何为编程爱好者设计一款好玩的智能硬件(九)——LCD1602点阵字符型液晶显示模块驱动封装(下)

    六.温湿度传感器DHT11驱动封装(下):如何为编程爱好者设计一款好玩的智能硬件(六)——初尝试·把温湿度给收集了(下)! 七.点阵字符型液晶显示模块LCD1602驱动封装(上):如何为编程爱好者设计 ...

  6. 如何为编程爱好者设计一款好玩的智能硬件(三)——该选什么样的MCU呢?

    一.我的构想:如何为编程爱好者设计一款好玩的智能硬件(一)——即插即用.积木化.功能重组的智能硬件模块构想 二.别人家的孩子:如何为编程爱好者设计一款好玩的智能硬件(二)——别人是如何设计硬件积木的! ...

  7. 【JavsScript】推荐五款流行的JavaScript模板引擎

    摘要:Javascript模板引擎作为数据与界面分离工作中最重要一环,受到开发者广泛关注.本文通过开发实例解析五款流行模板引擎:Mustache.Underscore Templates.Embedd ...

  8. 推荐五款优秀的PHP代码重构工具

    在软件工程学里,重构代码一词通常是指在不改变代码的外部行为情况下而修改源代码.软件重构需要借助工具完成,而重构工具能够修改代码同时修改所有引用该代码的地方.本文收集了五款出色的PHP代码重构工具,以帮 ...

  9. JAVA首选五款开源Web开发框架

    Spring Spring是一个开源的Java/Java EE全功能栈应用程序框架,在JavaEE社区中非常受欢迎,以Apache许可证形式发布,也有.NET平台上的移植版本. Struts2 Str ...

随机推荐

  1. virtualenv 环境下 Nginx + Flask + Gunicorn+ Supervisor 搭建 Python Web

    在这篇文章里,我们将搭建一个简单的 Web 应用,在虚拟环境中基于 Flask 框架,用 Gunicorn 做 wsgi 容器,用 Supervisor 管理进程,然后使用 Python 探针来监测应 ...

  2. post 方式提交XML文件调用接口

    import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Date; import java. ...

  3. CodeIgniter 常量ENVIRONMENT设置要注意的地方

    http://bbs.phpchina.com/thread-274514-1-1.html index.php ,这是CodeIgniter的入口文件,做开发是,都会设置一下define('ENVI ...

  4. POJ 2101

    #include <iostream> #include <algorithm> #include <cmath> using namespace std; int ...

  5. Android中将布局文件/View添加至窗口过程分析 ---- 从setContentView()谈起

    本文主要内容是讲解一个视图View或者一个ViewGroup对象是如何添加至应用程序窗口中的.下文中提到的窗口可泛指我们能看到的界面,包括一个Activity呈现的界面(我们可以将之理解为应用程序窗口 ...

  6. solr的collection,shard,replica,core概念

    一.collection 1.由多个cores组成一个逻辑索引叫做一个collection.一个collection本质上是一个可以跨越多个核的索引,同时包含冗余索引. 2.collection由不同 ...

  7. SQL技术内幕-13 SQL优化方法论之分析实例级别的等待

    优化方法论的第一步是在实例级别上找出什么类型的等待占用了大部分的等待时间,这可以通过查询动态管理图(DMV,dynamic management view)sys.dm_os_wait_stats 运 ...

  8. SQL技术内幕-7 varchar类型的数字和 int 类型的数字的比较+cast的适用

    DECLARE @x VARCHAR(10); DECLARE @y INT; DECLARE @z VARCHAR(10); SET @x = '1000'; SET @y = '2000'; SE ...

  9. C#调用脚本语言(三)-- IronJS 与 IronLua 简单方法性能比较

    1.   测试环境 1.1. 硬件环境 CPU:intel Core i7-740QM 内存:8GDDR3 Memory 1.2. 系统 系统:Windows 8 Enterprise 开发工具:Vs ...

  10. JDBC第三次学习

    这是我的JDBC第三次学习了,在学习的过程中,老是会忘掉一些知识,不记下笔记实在不行啊! 使用JDBC调用存储过程 (1)关于如何使用Navicat(11.1.13) for MySQL如何创建存储过 ...