1,iperf

key feature:Measuring TCP and UDP BandWidth Performance

Iperf features;

*TCP

  .Measure bandwidth;

  .Report MSS(Maximum Segment Size)/MTU(Maximun Transmission Util)size and observerd read sizes;

.......................

*UDP

  .Measure packet loss

  .Measure delay jitter

  .Multicast capable

软件包下载:  iperf.fr

2,netperf

网络质量的指标,主要有以下几个:

  • 带宽(throughput),网络的吞吐率,端到端之间可以传输的最大速率。比如服务器之间的千兆网络带宽是1000Mbps,或者用户adsl上网速率是 2Mbps。
  • 延时(latency),数据包从本地传输到对端之间需要的时间,一般是来回的时间。如果延时过大,就会觉得网络慢,特别是一些交互性强的应用。 比如延时超过300ms,通过ssh就会明显感到服务器响应比较慢,跟不上键盘输入的速度。延时一方面和两地之间的传输距离有关,比如中美之间通过海底光 缆传输半个地球,来回距离加起来最起码4万公里,光速是30万公里每秒,所以理论延时最起码是130ms,再加上光缆需要转接和绕路,以及其他损耗,所以 中美之间网络延时最好的时候也在170ms左右。延时另外一个原因是网络带宽的占用率,如果占用率高,则延时也高,比如天朝的特色,电信和网通之间,互相 掐架,互联带宽很小,网络瓶颈,造成互相之间延时很高。很多时候,同一个城市的网通到电信,比到美国去绕一圈还要慢。延时的其他原因,是cpu处理跟不上 等。
  • 丢包(loss),由于线路带宽占用过高,数据包从一端到另外一端传输的途中,会产生丢失。丢包率是网络的一个重要指标,一旦产生丢包,说明网络带宽不足,系统会自动重传,导致继续劣化,所以丢包率超过10%以后,网络质量会迅速劣化。
  • 抖动(jitter),如果延时不稳定,忽快忽慢,网络就存在抖动。抖动这个指标,在VOIP,视频会议等场合,是一个非常重要的指标,如果产生抖动,往往声音和图像也会抖动,无法听清楚或者看清楚。
各种应用,对上述指标的敏感性不一,比如http等应用,往往只对带宽和延时敏感,而游戏类应用,对延时、丢包、带宽敏感,及时语音和视频对上述几个指标都比较敏感。

普通用户测试网络质量的工具,通常的有:

1、ping

谁最常用的一个测试网络质量的一个工具,在各种操作系统、网络设备中一般都自带该工具。ping可以测试网络的延时、丢包率,优点是使用方便,不用安装。

ping的缺陷也比较明显:

  • 测试的时候,仅仅发送很小的负载icmp包,无法测试真实负载下的网络质量,比如单位里的网络平时是正常的,但是开一个迅雷下载,就很糟糕了。
  • 测试的指标单一,对于带宽、抖动无法测试

2、下载工具,可以测试带宽

这里介绍一个优秀的网络质量测试工具iperf,这个工具在我们的 asterisk 网络电话项目中,立下了汗马功劳。iperf 可以测试真实载荷下的网络质量,可以测试端到端的网络质量,可以测试一定吞吐率下的丢包、抖动。

iperf 在 linux 下和windows下都有二进制包。安装方法:

  • centos 下,需要使用EPEL 的软件包
CentOS 6:
rpm -i http://mirrors.ustc.edu.cn/fedora/epel/6/i386/epel-release-6-7.noarch.rpm CentOS 5:
rpm -i http://mirrors.sohu.com/fedora-epel/5/i386/epel-release-5-4.noarch.rpm yum -y install iperf
  • debian/ubuntu下
aptitude install iperf
  • windows 下
iperf 使用 C/S 模式进行测试,使用方法:
  • 一般的网络传输,使用 tcp 测试(普通网络应用),测试传输带宽:
服务器上运行:
iperf -s
客户端上运行:
iperf  -c 172.17.0.5  -d -i 1 -t 10
  • 语音服务器应该使用 udp 方式 (-u 选项),主要用于voip,视频会议,一些游戏:

服务器上运行:
iperf -s -u

客户端上测试在8Mbps带宽情况下的网络质量:
iperf -u -c 172.17.0.5 -b 8M -i 1 -w 1M -t 10

客户端起20个进程,每个进程 100k带宽,测试网络质量
iperf -u -c 172.17.0.5 -b 100k -i 1 -w 1M -t 30 -P20

测试结果包括带宽、抖动、丢包:

http://www.pubyun.com/blog/deveops/%E7%BD%91%E7%BB%9C%E8%B4%A8%E9%87%8F%E6%8C%87%E6%A0%87%E5%8F%8A%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7iperf/

http://www.net130.com/CMS/Pub/special/special_fzjh/special_fzjh_yy/2010_07_27_40244.htm

always NetWork Performance measure Tools的更多相关文章

  1. PostgreSQL Performance Monitoring Tools

    PostgreSQL Performance Monitoring Tools https://github.com/CloudServer/postgresql-perf-tools This pa ...

  2. Orion Network Performance Monitor 软件在网络管理中的应用

    Orion Network Performance Monitor 软件在网络管理中的应用       Orion Network Performance Monitor是完全的带宽性能和故障管理软件 ...

  3. After 2 years, I have finally solved my "Slow Hyper-V Guest Network Performance" issue. I am ecstatic.

    Edit - It should be known that I was initially researching this issue back in 2012 and the solution ...

  4. Java Performance Optimization Tools and Techniques for Turbocharged Apps--reference

    Java Performance Optimization by: Pierre-Hugues Charbonneau reference:http://refcardz.dzone.com/refc ...

  5. Top 10 Free Wireless Network hacking/monitoring tools for ethical hackers and businesses

    There are lots of free tools available online to get easy access to the WiFi networks intended to he ...

  6. Open-Source performance testing tools(From other site)

    http://www.appdynamics.com/blog/php/tools-of-the-trade-for-performance-and-load-testing/

  7. Language-Directed Hardware Design for Network Performance Monitoring——Marple

    网络监控困难 1.仅仅通过去增加特定的监控功能到交换机是不能满足运营商不断变化的需求的.(交换机需要支持网络性能问题的表达语言) 2.他们缺乏对网络深处的性能问题进行本地化的可见性,间接推断网络问题的 ...

  8. Linux Performance Observability Tools

  9. 18 Command Line Tools to Monitor Linux Performance

    By Ravi Saive Under: Linux Commands, Monitoring Tools On: December 26, 2013 http://www.tecmint.com/c ...

随机推荐

  1. CFileDialog使用总结

    http://blog.csdn.net/tianhai110/article/details/2055149 CFileDialog经常用,但经常忘,现归纳整理下,方便今后查询. 例子: CFile ...

  2. HDU 1317 XYZZY【Bellman_Ford判断正环】

    题意:给出n个房间,初始在房间1有100的能量值,每次进入一个房间,能量值可能增加也可能减小,(是点权,不是边权),问能否到达终点的时候能量值还为正 这题自己写的时候wa--wa-- 后来看了题解,还 ...

  3. UVa 1225 Digit Counting

    题意:给出n,将前n个整数顺次写在一起,统计各个数字出现的次数. 用的最笨的办法--直接统计-- 后来发现网上的题解有先打表来做的 #include<iostream> #include& ...

  4. VS2010 需要缺少的web组件才能加载该项目

    到的问题是解决方案中部分项目无法加载, 提示需要缺少的web组件才能加载该项目,是否通过WEB安装组件来网络安装, 点击确定以后就什么也没有了. 到微软网站去下载Microsoft Web Platf ...

  5. matlab中meshgrid函数的用法

    meshgrid用于从数组a和b产生网格.生成的网格矩阵A和B大小是相同的.它也可以是更高维的.这里的大小指的是,size()函数的大小,size()函数返回的是一个向量, 那么size(A) = s ...

  6. 中文分词系列(一) 双数组Tire树(DART)详解

    1 双数组Tire树简介 双数组Tire树是Tire树的升级版,Tire取自英文Retrieval中的一部分,即检索树,又称作字典树或者键树.下面简单介绍一下Tire树. 1.1 Tire树 Trie ...

  7. 判断https

    判断https <script> if(window.location.protocol=='https:'){ window.location.href='http://e.abchin ...

  8. Java 中无参带返回值方法的使用

    如果方法不包含参数,但有返回值,我们称为无参带返回值的方法. 例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值为 int 类型的方法,执行的操作为计算两数之和,并返回结果 在 c ...

  9. 通过反射执行get、set方法

    Class clazz = sourceObj.getClass(); 1.获取所有属性 BeanInfo beanInfo = Introspector.getBeanInfo(clazz); Pr ...

  10. Kyoto Cabinet(DBM) + Kyoto Tycoon(网络层)

    项目原地址kyotocabinet: http://fallabs.com/kyotocabinet/       kyototycoon:   http://fallabs.com/kyototyc ...