近学习了一些网络测试方面的东西,先做个小结,也算给自己理清一下思路。
  1. 网络相关测什么?
  From internet: 网络性能五项指标:Availability, Response time, network utilization, network throughput, networking bandwidth capacity.
  转到我们实际的产品<你暂且认为他是个OS>中,一般网络相关的*功能*测试<FVT>,主要是涉及到针对各种传输协议,各种数据包大小,各种网络设备,不通类型节点之间,以及压力情况下网络的连通性。当然还有很重的一部分,产品本身方面实现的功能,比如流量控制,分布式switch实现,VLAN, 数据信息过滤,等等。
  2. 常见的测试工具。
  目前存在的网络测试工具非常多,每种工具都有自己的优势。像这个地球上存在的人一样。当时我们还是要有所取舍,选择一个适合自己的。参看following link,if you have interest to 了解一下相关的工具。
  http://www.oschina.net/p/netperf/similar_projects?lang=0&sort=time
  这里我们只是简单介绍一下,我近学习并可能会用到的几个。 Netperf, Iperf, LTP, Curlloader...我们尽大努力只用免费开源的。。。。。
  1> Netperf.
  Netperf主要针对基于TCP或者UDP的传输。可进行批量数据传输测试和请求/应答模式传输的测试。其测试结果反映两个系统之间发送和接收数据的速度和效率。基于C/S模式。测试首先要建立一个控制连接,传递有关配置和以后的结果信息。开发语言C/C++. 并且具有基于ESX-VMkernel的编译版本。
  Usage:
  Netserver/(vmkload_app -i vmktcp)netserver-uw
  netperf/((vmkload_app -i vmktcp /netperf-uw -H host -t TCP_STREAM/UDP_RR -l 60 -***
  BTW, 带一下vmktcp的介绍
  “vmkload_app is a program launcher that loads vmkernel usermode applications onto the VMkernel. The APP is executed with the given APP-PARAMS and managed by the VMkernel. vmkload_app waits for the APP to terminate, and will relay the standard input and output of the APP to and from its standard output, and if a signal(7) is sent to vmkload_app it will be caught and forwarded to the APP. Only applications compiled for the vmkernel can be loaded. Additionally, only binaries explicitly listed in the allowed binaries list, /etc/vmware/UserWorldBinaries.txt will be allowed This is only useful on Classic. Because we are need to run the App in kernel level from COS. All app completed for vmkernel need to be ran in this way. Obviously, on Visor, no need to use vmkload_app….. "
  2> Iperf.
  Iperf可测试TCP/UDP带宽质量。Iperf可以测量大TCP带宽,具有多种参数和UDP特性,Iperf可以报告带宽,延迟抖动和数据包丢失。基于都是需要在2端检查连接情况下,iperf 和netperf 很相似.不同的是,iperf 更深入的通过windows size和QOS 设备来检查TCP/UDP 的效率情况.这个工具,是给需要优化TCP/IP stacks以及测试这些stacks 效率的管理员们量身定做的.iperf 作为一个二进制程序,可运行在server 或者client 任一模式下.默认使用50001 端口.
  Usage:
  -s 以server模式启动,eg:iperf -s
  -c host以client模式启动,host是server端地址,eg:iperf -c 222.35.11.23
  3> LTP.
  LTP, Linux Test Project.是一个工具箱, 里面放了一堆用来测试Linux各个components的工具。 这个
  LTP测试的过程主要分为两个阶段:
  第一阶段——初始测试,主要用于测试系统的可靠性,包括LTP测试套件在硬件和操作系统上24小时的成功运转
  第二阶段——压力测试,主要验证产品在系统高使用率时的健壮性。
  我们这里使用初始测试,来验证网络套件在硬件和操作系统上成功运行。Test generic networking protocols like tcp/udp, icmp, ssh, tftp, ftp…with LTP suite
  Usage:
  Set RHOST, PASSWD
  /home/ltp/LTPtest/runltp -N -p -l output.log