测试工具以及目的

IxChariot 是 NetIQ 公司推出的一款网络测试软件, 可以针对各种网络环境、各种操作系统进行测试,通过模仿各种应用程序所发出的网络数据交换,IxChariot 可以帮助网络设计或者网络管理人员对各种网络进行评估。通过IxChariot 附带的各种测试脚本,用户可以测试网络的数据流量、响应时间以及数据吞吐量,也可以根据网络中所采用的应用程序的需要,选择相应的测试脚本。

Chariot 由两部分组成:控制端  Console 和远端  Endpoint,两者都可安装在普通 PC 或者服务器上,控制端安装在 Windows 操作系统上,  Endpoint 支持各种主流的操作系统。控制端为该产品的核心部分, 控制界面(也可采用命令行方式) 、测试设计界面、脚本选择及编制、 结果显示、 报告生成以及 API 接口等都由控制端提供。

Endpoint 可根据实际测试的需要安装在单个或者多个终端处,负责从控制端接收指令、完成测试并将测试数据上报到控制端。Chariot 通过内置的脚本,由控制端控制远端相互主动发包,对设备进行功能、压力和性能等测试,测试结果包括吞吐量、时延、抖动、丢包、错包等等,它能够得到定量的数据并提供详尽的测试报告,从而使得用户可以主动地把握 设备的性能状况,并及时地发现问题并采取措施。Chariot 通过各种机制可以仿真任意的应用。 首先,通过内置的脚本, Chariot 发送不同的数据流,可以模拟现在常见的125 种应用,而且这种数据流是双向的,真正与协议栈进行交互。 Chariot 对各种应用的支持是基于在 Endpoint 之间发送的多种数据流,数据流的传送可基于多种协议,包括 TCP、UDP、RTP、SPX、IPX 和 SNA ,目前也已经支持 IPv6。

Chariot 还支持 Multicast 、QoS 等多种先进技术, 而且将一直保持同步。 另外,在出现新的或者特殊的应用的时候, 通过工具套件 Application Scanner 能够生成可以供 Chariot 使用的脚本。 Chariot 允许对脚本进行定制,改变数据流的各种参数,比如起始的启动间隔、发送窗口、接受窗口的大小,发送文件的大小,发送的速率、发送的比特流类型、使用端口等等,而且这些参数不但可以是一个由用户指定的典型数值,而且还能选用在最大、最小值之间符合平均分布、正态分布、泊松分布或者指数分布的随机值,从而真正地仿真网络中各种特定的数据流,全面地测试网络或者网络设备在复杂的网络环境下的性能。现代网络的一个特点是呈分布式发展,在对网络性能测试的过程中,可能    要涉及到很多的节点。

采用 Chariot 软件,则可以直接在中央控制端轻点几下鼠标就完成对全网的测试。 Chariot 的远端可以直接在 NetIQ 公司网站上下载或者通过中央控制端远程安装到所需要的节点机器上去, Chariot 最多可支持 10000个远端的协同测试,而远端软件则可任意按照需要安装,在测试的时候即可被唤醒。

本次测试的目的仅仅是对比在相同环境下,相同的二层网络,不同类型的三层网络的性能以及延迟对比。

ZStack平台测试主机介绍

ZStack是下一代开源的云计算IaaS(基础架构即服务)软件。它主要面向的是未来的智能数据中心,通过提供的API来管理包括计算、存储和网络在内的数据中心的各种资源。跟OpenStack相比,ZStack具有易用、稳定、灵活、超高性能等特点。本次测试的所有云主机都是运行在zstack平台的私有云中。

windows主机为测试console主机,剩下的主机系统为centos6.9,配置为4c8g,vrouter的配置为2c4g。其中IxChariot-106-101 endpoint为主要的打流测试主机。网卡类型都是千兆。

本次测试物理环境为千兆网络,使用三种网络类型。

IxChariot-109-101为vpc网络,通过EIP的方式提供服务,EIP配置在vrouter中,转发由vyos中iptables实现。

IxChariot-108-102为扁平网络,通过EIP的方式提供服务,EIP配置在宿主机的namespace中,转发由namespace中iptables实现。

IxChariot-107-101为扁平网络,不通过EIP方式,直接通过三层交换机转发。

(图片可点击放大)

环境准备

本文不针对IxChariot Console安装进行介绍,只介绍Linux版本的endpoint安装。

详细安装如下脚本,通过netstat命令,确认tcp10115端口已经打开。

yum install -y wget

wget http://downloads.ixiacom.com/products/ixchariot/endpoint_library/8.00/pelinux_amd64_80.tar.gz

tar -zxvf pelinux_amd64_80.tar.gz

chmod +x endpoint.install

./endpoint.install

cp /usr/local/Ixia/rc2exec.lnx /etc/rc.d/init.d/endpoint

service endpoint start

测试

测试说明:

添加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左右,上下抖动较小。Response Time也很稳定。

案例二(IxChariot-106-101与IxChariot-109-101 VPC)

添加测试脚本 Throughput.scr,填写IxChariot-106-101与IxChariot-109-101的endpoint地址,file_size调整到最大999999999(1G),点击run,开始测试。

网络相对稳定,抖动范围在30M以内,对应的Response Time也对应抖动

案例三(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类型的网络由于经过虚拟路由器的一次转发,其性能相对其他两种方式必然会要多损耗些。虽然损耗了些性能,但是同时也带来了更加灵活的网络配置,安全可靠的隔离,丰富的网络场景以及更低的管理成本。

比如负载均衡,端口映射,IPSec VPN,SDN-WAN等功能都离开不了vpc类型的网络。vpc top直观的展示了整个网络top的结构。

如今,硬件快速发展,这些软件上造成的性能损耗其影响越来越少,本次测试可能比较片面,仅作为参考,希望读者以及用户也能通过其他方式进行相应的测试。

    作者:祝祥 新钛云服运维架构师

十年运维经验,曾任刻通云运维工程师、微烛云和某互联网金融平台首席运维架构师。拥有OpenStack、CCIE、阿里云、ZStack等技术认证。有上万台云主机,PB级别分布式存储运维经验。熟悉各种虚拟化技术,软硬件,网络,容器编排等技术,拥有python开发经验。热爱各种开源技术。

ZStack正在举办锦鲤活动——只要点击下列文章,评论区参与答题,就有机会领走程序员专属超级豪华大大大礼包!

1024程序员节:寻找一位云计算圈的锦鲤

附上锦鲤礼包清单:

技术测评:ZStack网络性能测试相关推荐

  1. 阿里云容器服务cni网络插件terway非官方网络性能测试

    作者:张荣滨,酷划在线后端架构师,关注微服务治理,容器化技术,Service Mesh等技术领域 terway网络性能测试 酷划在线成立于2014年,是国内激励广告行业的领军者.酷划致力于打造一个用户 ...

  2. c++测试cpu_测评丨NXP系列 LS1028 LS1046等产品网络性能测试

    号外号外!继OK1012A-C面市以来,飞凌嵌入式公司相继推出了OK1043A-C.OK1046A-C,以及最新上市的OK1028A-C,OK10XX系列产品也是一个大家族了.正所谓春兰秋菊,各擅胜场 ...

  3. 西北工业大学计算机网络实验报告2,西北工业大学《网络性能测试》实验报告...

    网络性能测试实验报告 学院 计算机学院 专业 计算机科学与技术 班级 学号 姓名 实验时间 实验一 测试仪表基本配置及使用 一.实验目的: 1. 2. 3. 4. 掌握Sprirent TextCen ...

  4. ipv6计算_移动云多款产品通过工信部IPv6支持能力技术测评

    聚焦IPv6升级改造 近日,以"协同贯通.创新发展"为主题的"2020中国IPv6发展论坛"在北京举行,会上对包括移动云在内的云服务商在"网络基础设施 ...

  5. 利用局域网测试仪进行网络性能测试

    随着互联网科技的飞速发展,网络变的越来越庞大,数据量越来越高,网络速率成几何倍数增长,网络应用也越来越复杂,对网络的性能.稳定性和可靠性都提出了更高的要求.在日益复杂的网络环境中一旦发生网络故障,很难 ...

  6. 网络性能测试 - MiniSMB网络性能测试仪表 工控机免费版 如何配置VLAN数据流

    网络测试仪MiniSMB(www.minismb.com)是复刻smartbits的IP网络性能测试工具,是目前唯一一款专业级的免费网络测试仪工具.可以通过此以太网测试工具测试任何IP网络设备的端口吞 ...

  7. 网络性能测试工具netperf

    源地址:网络性能测试工具netperf | 软件定义网络SDN 1 网络性能测试概述 在构建或管理一个网络系统时,我们更多的是关心网络的可用性,即网络是否连通,而对于其整体的性能往往考虑不多,或者即使 ...

  8. 7个常用的网络性能测试指标

    网络性能测试指标是用来反映网络情况好坏的数据,这些关系到上网时体验的好坏,所以网络提供商需要不断检测以保证用户上网的正常体验,通常来说常用的网络西能指标有以下7个,关于这些指标以及其他一些相关指标,点 ...

  9. Linux环境下网络性能测试

    网络性能测试的几项重要指标 1.可用性 测试网络性能的第一步是确定网络是否正常工作,最简单的方法就是使用ping命令,通过向远端的机器发送ICMP请求,并等待接收ICMP回应,来判断远端的机器是否连通 ...

最新文章

  1. cmd连接oracle_Oracle -PLSQLDeveloper 13 数据库连接
  2. 辍学的名人_我辍学去追求成为网络开发人员和设计师的梦想
  3. 线段树、二叉堆以及离散化入门
  4. amazon linux 安装nginx,linux – NGINX不显示Amazon EC2实例上的默认页...
  5. selenium调用js文件_selenium肿么调用执行这两个js函数
  6. 在Forms验证模式下,实现多个站点(SubDomain相同)共享同一用户登录状态
  7. win10命令提示符怎么打开_Win10系统防火墙怎么打开?ARP防火墙启用步骤
  8. Social Emotional Computing -价值观的运算
  9. Kaggle 美女小姐姐自述:我是怎么成为竞赛中 Top 0.3% 的?
  10. 不做保姆式运维,从容接手新业务运维工作
  11. C语言 5个数最值问题
  12. 对udp组播流(MPTS)进行简单的收录
  13. IOS音视频(四十五)HTTPS 自签名证书 实现边下边播
  14. MATLAB | MATLAB不会画图?官方团队来教你
  15. 小学学计算机应该学什么礼物,小学毕业礼物排行榜 运动学习两不耽误
  16. 拉格朗日小传及其代数思想理论、应用
  17. 模板引擎FreeMarker的介绍和使用
  18. 题解报告(CDUT暑期集训——第二场)
  19. SEH X64(1)
  20. 数据库封装 sql server mysql_【C#】SQL Server数据库操作封装类

热门文章

  1. 河南理工大学python挂科率_河南理工大学就业率怎么样,2020年排名好不好
  2. speex AEC算法学习小结
  3. 基于Andriod的连锁药店管理系统APP-计算机毕业设计
  4. “乳”字的另一个含义
  5. 自动修复无法修复你的电脑 解决方案
  6. mac下npm安装全局组件报错
  7. Mac-搭建前端开发环境
  8. 政府频频施压,58同城依旧我行我素,虚假信息顽疾无解?
  9. 微信小程序入门:学习demo以及自己的第一个小程序
  10. Android中的录音与音频合成