技术测评:ZStack网络性能测试

上一篇 / 下一篇  2018-11-02 15:51:51 / 个人分类:性能测试

  测试工具以及目的
  IxChariot是NetIQ公司推出的一款网络测试软件,可以针对各种网络环境、各种操作系统进行测试,通过模仿各种应用程序所发出的网络数据交换,IxChariot可以帮助网络设计或者网络管理人员对各种网络进行评估。通过IxChariot附带的各种测试脚本,用户可以测试网络的数据流量、响应时间以及数据吞吐量,也可以根据网络中所采用的应用程序的需要,选择相应的测试脚本。
  Chariot由两部分组成:控制端Console和远端Endpoint,两者都可安装在普通PC或者服务器上,控制端安装在windows操作系统上,Endpoint支持各种主流的操作系统。控制端为该产品的核心部分,控制界面(也可采用命令行方式)、测试设计界面、脚本选择及编制、结果显示、报告生成以及API接口等都由控制端提供。
  Endpoint可根据实际测试的需要安装在单个或者多个终端处,负责从控制端接收指令、完成测试并将测试数据上**贫恕hariot通过内置的脚本,由控制端控制远端相互主动发包,对设备进行功能、压力和性能等测试,测试结果包括吞吐量、时延、抖动、丢包、错包等等,它能够得到定量的数据并提供详尽的测试报告,从而使得用户可以主动地把握设备的性能状况,并及时地发现问题并采取措施。Chariot通过各种机制可以仿真任意的应用。首先,通过内置的脚本,Chariot发送不同的数据流,可以模拟现在常见的125种应用,而且这种数据流是双向的,真正与协议栈进行交互。Chariot对各种应用的支持是基于在Endpoint之间发送的多种数据流,数据流的传送可基于多种协议,包括TCP、UDP、RTP、SPX、IPX和SNA,目前也已经支持IPv6。
  Chariot还支持Multicast、QoS等多种先进技术,而且将一直保持同步。另外,在出现新的或者特殊的应用的时候,通过工具套件ApplicationScanner能够生成可以供Chariot使用的脚本。Chariot允许对脚本进行定制,改变数据流的各种参数,比如起始的启动间隔、发送窗口、接受窗口的大小,发送文件的大小,发送的速率、发送的比特流类型、使用端口等等,而且这些参数不但可以是一个由用户指定的典型数值,而且还能选用在最大、最小值之间符合平均分布、正态分布、泊松分布或者指数分布的随机值,从而真正地仿真网络中各种特定的数据流,全面地测试网络或者网络设备在复杂的网络环境下的性能。现代网络的一个特点是呈分布式发展,在对网络性能测试的过程中,可能要涉及到很多的节点。
  采用Chariot软件,则可以直接在中央控制端轻点几下鼠标就完成对全网的测试。Chariot的远端可以直接在NetIQ公司网站上下载或者通过中央控制端远程安装到所需要的节点机器上去,Chariot最多可支持10000个远端的协同测试,而远端软件则可任意按照需要安装,在测试的时候即可被唤醒。
  本次测试的目的仅仅是对比在相同环境下,相同的二层网络,不同类型的三层网络的性能以及延迟对比。
  ZStack平台测试主机介绍
  ZStack是下一代开源的云计算IaaS(基础架构即服务)软件。它主要面向的是未来的智能数据中心,通过提供的API来管理包括计算、存储和网络在内的数据中心的各种资源。跟OpenStack相比,ZStack具有易用、稳定、灵活、超高性能等特点。本次测试的所有云主机都是运行在zstack平台的私有云中。
  windows主机为测试console主机,剩下的主机系统为centos6.9,配置为4c8g,vrouter的配置为2c4g。其中IxChariot-106-101endpoint为主要的打流测试主机。网卡类型都是千兆。
  本次测试物理环境为千兆网络,使用三种网络类型。
  IxChariot-109-101为vpc网络,通过EIP的方式提供服务,EIP配置在vrouter中,转发由vyos中iptables实现。
  IxChariot-108-102为扁平网络,通过EIP的方式提供服务,EIP配置在宿主机的namespace中,转发由namespace中iptables实现。
  IxChariot-107-101为扁平网络,不通过EIP方式,直接通过三层交换机转发。
  
  环境准备
  本文不针对IxChariotConsole安装进行介绍,只介绍Linux版本的endpoint安装。
  详细安装如下脚本,通过netstat命令,确认tcp10115端口已经打开。
  
yuminstall-ywget  wgethttp://downloads.ixiacom.com/products/ixchariot/endpoint_library/8.00/pelinux_amd64_80.tar.gz  tar-zxvfpelinux_amd64_80.tar.gz  chmod+xendpoint.install  ./endpoint.install  cp/usr/local/Ixia/rc2exec.lnx/etc/rc.d/init.d/endpoint  serviceendpointstart
  测试
  测试说明:
  添加pair,填写两个endpoint的云主机地址,选择测试脚本,编辑脚本,将file_size调整为999999999byte(1G),否则数据量比较小,测试时间太短,无法完全展现出结果。由于网络损耗的原因,千兆无法跑满,但是所有的测试机在相同的环境中。
  
  Throughtput
  案例一(IxChariot-106-101与IxChariot-107-101)
  添加测试脚本Throughput.scr,填写IxChariot-106-101与IxChariot-107-101的endpoint地址,file_size调整到最大999999999(1G),点击run,开始测试。
  
  
  
  网络非常稳定,无较大的抖动,平均带宽在927M左右,上下抖动较小。ResponseTime也很稳定。
  案例二(IxChariot-106-101与IxChariot-109-101VPC)
  添加测试脚本Throughput.scr,填写IxChariot-106-101与IxChariot-109-101的endpoint地址,file_size调整到最大999999999(1G),点击run,开始测试。
  
  
  
  网络相对稳定,抖动范围在30M以内,对应的ResponseTime也对应抖动
  案例三(IxChariot-106-101与IxChariot-108-102)
  添加测试脚本Throughput.scr,填写IxChariot-106-101与IxChariot-108-102的endpoint地址,file_size调整到最大999999999(1G),点击run,开始测试。
  
  
  
  有些抖动,但是不影响其稳定性。
  总结
  三种测试方案针对相同类型的二层网络,不同类型的三层网络。
  虚拟机直接提供服务,不使用任何EIP转发,这种方式是最直接的,虚拟机通过宿主机上的bridge直接转发,无需额外的三层转发。不论是性能还是损耗都已经达到最优。一般私有云都推荐使用这种方式。
  VPC网络使用EIP方式,其原理是通过平台自动生成以vyos为base镜像的,优化过的虚拟机作为转发路由器,性能比直接访问会有些损耗。
  扁平网络使用EIP方式,其原理是通过宿主机上namespace中的iptables转发,使用ebtables去解决mac地址冲突从而实现网络的分布式。该网路转发非常稳定,性能损耗非常少。与虚拟机不经转发结果相似。
  vpc类型的网络由于经过虚拟路由器的一次转发,其性能相对其他两种方式必然会要多损耗些。虽然损耗了些性能,但是同时也带来了更加灵活的网络配置,安全可靠的隔离,丰富的网络场景以及更低的管理成本。
  比如负载均衡,端口映射,IPSecVPN,SDN-WAN等功能都离开不了vpc类型的网络。vpctop直观的展示了整个网络top的结构。

TAG: 网络性能测试 ZStack

 

评分:0

我来说两句

日历

« 2024-03-24  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

我的存档

数据统计

  • 访问量: 37356
  • 日志数: 42
  • 建立时间: 2018-11-01
  • 更新时间: 2018-11-06

RSS订阅

Open Toolbar