云计算数据中心网络性能测试

云计算数据中心的网络测试主要包含虚拟化测试、安全测试、高可靠测试和性能测试四 个部分。前三者重点在于对数据中心网络的功能设计进行测试验证,性能测试则是度量整个云网络的关键,用以确认其能够提供的服务能力基线。云计算技术目前很 多应用在大型的高性能计算(超算)数据中心中,在此类数据中心内部,性能处于业务保障的第一关键位置。本文重点关注性能测试的部分,从测试设计方面进行探 讨。

  测试设计

  数据中心网络性能测试手段很多,业务仿真测试是最能体现实际应用情 况的测试方法。业务仿真测试往往需要利用大量服务器和存储设备,通过部署仿真应用环境来测试网络针对此类型应用的转发性能。但此方法受成本和测试复杂度影 响,一般只在超大型且应用较为单一的数据中心测试时使用,如百度/SOHU搜索业务仿真、QQ/MSN实时通讯业务仿真、石油勘探/气象预报计算业务仿真 等。

  除了上述专用测试方法外,还可以通过测试仪器模拟一些基本的应用流量来测试其主要性能。此方式由于实施简便、通用型强,在数据中心 网络性能测试中应用较多。受当前整个Internet应用使用情况影响,测试仪模拟的网络应用以TCP的HTTP为主,有时会根据具体的实际业务情况添加 Mail、FTP和HTTPS进行补充,这种测试设计也符合当前云计算数据中心的实际应用情况。

  测试环境

  在测试数据中心网络性能时,通常使用成对的测试仪器端口,连接到数据中心网络两端,将整个网络视为黑盒进行端到端的性能结果测试。典型测试组网设计如图1所示。

图1   数据中心性能典型测试组网

   图1中的数据中心网络结构采用典型的3层双冗余结构。核心层设备采用高端交换设备进行三层路由转发,其与汇聚层设备间通过OSPF动态路由协议互连,以 提供多路冗余保障,同时通过只发布缺省路由到汇聚层设备的方式来减轻汇聚层设备的路由压力;汇聚层设备作为模拟服务器设备的网关提供三层转发功能,使能 VRRP等网关冗余协议来保证双机热备,并通过VLANTRUNK方式与接入层设备相连;接入层设备部署为二层转发模式,通过MSTP协议确保多VLAN 环境下的冗余链路备份功能。

  测试仪器通过多个接口分别与核心层设备和接入层设备连接,并模拟Client和Server进行有状态的流量转发性能测试。测试模拟的协议类型尽量与使用环境贴近,最常见的是使用HTTP协议进行基于L7的业务流量模拟。

  另外为了确保数据中心测试的仿真度,还需要模拟大量的路由、VLAN和流数量。例如测试的为一个大型的企业云数据中心,则需要定义以下背景环境参量:

  1. 首先设置背景路由,在核心设备上模拟发布1万条OSPF散列路由,其发起源为50个Router,路由模拟调配比例为NetworkLSA:SummaryLSA:ExternalLSA=1:3:16

  2. 然后设置背景VLAN与模拟服务器,在汇聚层与接入层设备上部署8个MSTP的Instance,每个Instance中包含8个VLAN,使用测试仪器在每个VLAN中模拟100个HostServer,总共64个VLAN,6400个Server。

  3. 最后构造测试流量,定义1万个Client源IP地址一一对应到模拟的1万条散列OSPF路由中,目的IP地址64个,分别为模拟的64个VLAN中每个VLAN随机抽取的各一个HostServer地址。总共为64万条IP测试流。

  上述测试参数定义均可通过测试仪器配置完成。

  当测试环境部署完毕后,即可使用测试仪器进行整网性能指标的测试执行工作

关键指标及测试方法

  衡量云计算数据中心的网络性能根据使用的网络设备不同拥有很多指标。常见的关键性能指标包括以下几项:

  1. L4新建速率(CPS)

  2. L4并发数(CC)

  3. L7吞吐量(GoodPut)

  4. L7响应时间(ResponseTime)

  其中L4测试一般使用TCP协议构造流量,L7测试使用HTTP协议构造流量。下面就这几项关键指标的测试方法进行介绍。

  L4新建速率测试

  L4新建速率指通过数据中心中间网络每秒可以处理的TCPSession速率,单位为CPS(ConnectionsPerSecond)。

  需要注意的是,这里的“新建”指的是一个TCPSession成功建立并关闭的整个过程,并不是单纯指字面意义上的连接建立速率。在常见的L4新建速率测试中,主要使用TCP80端口的HTTP服务进行测试。测试配置中,关键在于以下几点:

  1. 将TCP关闭方式选择使用TCPFIN报文触发的4次握手关闭方式。此种方式最符合当前普遍的网络协议应用模型。在部分特殊业务需求的测试场景下可以采用TCPRESET方式进行快速会话关闭,以测出网络系统能够支持的极限性能。

  2. 将TCP的会话关闭等待时间设置为0ms,既服务器端收到请求后立刻进行回应关闭,避免中间设备的表项资源消耗对测试结果的干扰。

  3. 将HTTP的传输数据载荷设置为尽量小(常见为64byte),以加快测试仪表模拟的Client和Server报文交互速率,便于更准确地测试出设备能力上限。

  4. 将每TCPConnection中的HTTPTransaction数量设置为1,减小不必要的测试干扰,得出更精确的测试结果。

  5. 需要设定一定长度的相同新建速率测试持续时间(如3600s),以保证测试结果的有效性。

  6. 在测试开始前记录网络中主要设备的CPU/Memory等关键性能指标,测试过程中和结束后对这些指标进行监控,实时了解整个网络的运行情况。

  L4新建速率测试的结果将主要体现数据中心网络中L4-L7设备的CPU(根据不同厂商设备的具体可以指NP、ASIC和协处理器等进行TCP新建表项计算的处理单元)运算处理能力。其线性关系如图2所示。

图2  L4新建速率结果与网络设备CPU关系示意图

  L4并发数测试

  L4并发数指通过数据中心中间网络可以同时并发存在的最大TCPSession数量,单位为CC(CurrentConnections)。

  对于L4并发数测试来说,尤其需要关注其上层协议的具体应用,一个Telnet连接保持1小时与一个HTTP连接保持1小时在协议处理流程上是有很大不同的,应尽量根据实际网络中的业务流量设计测试模型。以下仍以最常见的HTTP协议进行测试举例说明。

由于实际的网络模型都是在不断的进行TCP连接建立和关闭,因此并发数测试结果也要在稳定的新建速率下获得,而不能同时将所有TCP连接一起打 入再进行等待。过高的新建速率会导致中间网络设备的处理能力下降,从而影响到并发数的测试结果;而较低的新建速率则会导致超长的会话保持时间,也与实际模 型相背

  举例:期望的网络并发数为300万,使用1千CPS的速率进行新建,则需要将测试仪器的会话回应等待时间调整至 3,000,000/1,000=3000s才能得到接近期望的测试结果,而如此长的会话保持时间对网络中间设备来说属于并不符合实际网络业务模型的处理 方式。

  因此正确的测试方法是,先测试出中间网络的极限CPS能力,然后取中间设备稳定运行时(如CPU使用率在60%)能够处理的新建速率,再根据并发数期望测试结果计算出测试仪的会话回应关闭等待时间,通过调整此时间测试出实际的设备并发数处理能力。

  举例:先测试出的网络新建速率极限值为20万CPS,CPU稳定在60%时的最大新建速率值为15万CPS,期望的最大并发数为300万,则在 测试并发数时设置测试仪器的新建速率为15万CPS,会话回应关闭等待时间为20s上下调整,以确认网络能够达到的实际最大并发数。

  L4并发数测试配置需要注意以下几点:

  1. 根据网络L4新建速率测试结果,设置稳定的新建速率参数和会话回应关闭等待时间参数。

  2. 可以适当调整TCP会话关闭方式,以减少中间网络设备压力,如采用Reset方式关闭。

  3. 同新建速率测试一样,设置HTTP载荷为尽量小值(如64byte),并将每个TCPConnection中的HTTPTransaction数量设置为1,减少对测试结果的干扰。

  4. 将整个测试周期时间设置为一个较长值(如3600s),同步验证网络的稳定性。

  5. 测试前中后的整个过程中记录网络主要设备的关键性能指标,进行比较确认。

  L4并发数测试结果体现了整网会话保持与表项存储的能力,与网络中L4-L7处理设备的内存大小有直接关系。这里的内存大小依据各个厂商设备实现的不同也指DRAM、接口内存和CAM等TCP会话表项存储单元容量。TCP并发数与内存使用大小的线性关系如图3所示。

  图3  L4并发数结果与网络设备Memory使用率关系示意图

  L7吞吐量测试

  L7吞吐量指当前网络可以有效传输的最大HTTP数据量,也被称为有效吞吐GoodPut,区别于传统意义上的测试指标L3吞吐量ThroughPut,结果单位为BPS(BytePerSecond)。

  L7吞吐量测试结果很大程度上依赖于L4新建速率能力,其间关系类似于传统L3吞吐量BPS(BitPerSecond)与网络设备包转发能力 PPS(PacketsPerSecond)之间的关系。在测试L7吞吐量的过程中,首先测得网络的新建速率,然后将新建速率测试结果乘以一定比率系数 (例如80%),作为L7吞吐量测试中使用的的稳定新建速率参数始终不变,测试时逐步提高HTTP有效载荷大小,通过观察出现HTTP连接出现失败前的有 效载荷最大传输速率,得到其L7吞吐量测试结果。

  举例:采用的稳定持续新建速率为20万CPS,能够无失败传输的最大有效载荷值为500Byte,则系统的L7吞吐量为100MBPS(BytePerSecond)。

  在L7吞吐量测试中还需要注意的是可以适当提高每TCPConnection中的HTTPTransaction数量,如采用1:10的比例, 这样能够进一步提高L7吞吐量测试结果。但需要注意采用多Transaction方式时,需要将测试仪器上的HTTP协议类型设置为HTTP1。 1,HTTP1。0协议不支持此种传输加载方式。

  L7吞吐量的测试结果除了受L4新建速率的直接影响外,还会受到网络中各设备的交换架构、接口总线等元件单位间处理能力的限制,其测试结果也直接体现了整个网络的应用数据吞吐转发能力。

  L7响应时间测试

  L7响应时间指从客户端发起http请求,到得到正确数据响应所经历的时间,一般用来衡量中间网络的综合处理能力,单位为毫秒。

  L7响应时间与L7延迟时间的主要区别是:延迟时间指客户端发出报文到服务器接收到此报文或反向发送接收的间隔时间;响应时间则指的时一个完整 连接的客户端于服务器报文来回交互过程时间。在数据中心网络中,响应时间可以更好的表现出整个网络对有状态的流量处理能力,在HTTP这种需要客户端与服 务器进行反复交互的应用协议使用中尤为重要。

  响应时间的测试方法主要有两种:一种是基于真实服务器的业务响应时间测试,此测试结果包含了中间网络设备与服务器两部分处理延迟时间;另一种是 通过测试仪模拟服务器快速响应请求的测试,这种测试方法可以尽量减少服务器端处理延迟的影响,得到近乎纯粹的网络处理延迟时间。

  L7响应时间测试要在一定的新建速率下进行,这样做也是为了尽量贴近实际网络情况。但此测试中的新建速率需要维持在一个较低的水平线上,最好是根据真实环境平均值设定,这是因为新建速率较高时会导致CPU资源占用较高,影响设备对连接的处理能力。

  常用测试工具

  使用专用测试工具测试数据中心网络性能时,可以采用软件与硬件两类。

  软件测试工具指需要运行在例如UNIX、Linux和Windows等开放的操作系统及通用的硬件架构上,并且只需对现有系统做出微小甚至不做改动就能够完成测试任务的软件。

  部分性能测试软件如下:

  HTTP–HTTPLOAD,WebServerStress,LOADRunner,WebBench,WebStone,SPECweb99

  MAIL–Loadsim,Medusa(MicrosoftExchange),

  DB-BenchmarkFactoryforDatabases,Jetstress,DBstress

  IPSAN–IOmeter,Iozone,Bonnie++,dd

  硬件测试工具指使用单独的硬件设备配合装载在PC上的控制软件完成测试工作,其性能要远优于一般的软件测试工具,但相对的缺点是价格较高和可扩 展性较差(功能升级有时需要对硬件产品进行改变,成本很高)。基于数据中心以应用为根本的网络流量特点,通常采用支持L7应用的测试仪器进行测试。目前主 流的测试仪器厂商有Spirent、IXIA和BreakingPoint等。

  在云计算数据中心网络性能测试中,如果需要更好的仿真业务应用,建议采用软件集群服务器安装测试方式;如果希望得到最大的极限能力,建议采用硬件测试仪器来进行测试。

  结束语

  在数据中心网络性能测试中,还有以下一些常用经验可以在测试设计和执行中进行参考:

  1. 当测试模拟的流量越接近真实网络,测试环境就需要越复杂。

  2. 永远不能通过测试设计去完全的模拟真实网络环境。

  3. 没有任何两个测试环境是完全相同的,因此所有测试结果只有参考性,不具标准性。

  4. 不同的网络环境体现不同的流量模型,最好的不见得是最适合的。

  5. 数据中心性能测试结果永远向网络中性能最差设备指标看齐。

  6. 所有测试之前一定先要进行测试工具的自测试,了解其能力限制。

  云计算数据中心的广泛部署是一个持续渐进的过程,而基于云计算数据中心的测试是使其大范围推广的关键保障。做好云计算数据中心网络的测试设计和 执行,可以更好的了解当前网络设计的能力范畴,以便更准确的应对基于云计算技术的应用业务需求,为云应用提供更好的通道架构服务。

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-10 00:18:42

云计算数据中心网络性能测试的相关文章

云计算数据中心网络技术全面剖析

http://bbs.chinacloud.cn/showtopic-8339.aspx 云计算数据中心网络技术全面剖析[目录]1前言2云计算2.1集中云2.2分散云2.3云计算小结3数据中心3.1 Client与Server3.2层次化与扁平化3.3三层结构与两层结构3.4 Server与Storage3.5数据中心多站点3.6多站点选择3.7数据中心小结4网络4.1路由与交换4.2 EOR与TOR4.3控制平面与转发平面4.4 Box与集中式转发4.5 Chassis与分布式转发4.6 Cl

云计算数据中心网络研究综述

云计算数据中心网络研究综述 罗萱 叶通 金耀辉 云计算的兴起给数据中心网络提出了新的需求.针对数据中心网络在规模持续增长的情况下,面临租户隔离和服务保证等挑战这一问题,从物理网络.网络虚拟化和性能保证等方面介绍了当前数据中心网络的研究热点. 云计算数据中心网络研究综述

云计算数据中心网络虚拟化技术

云计算数据中心网络虚拟化技术 李明 云计算带来的超大规模数据中心建设,对数据中心网络提出了新的需求,网络虚拟化技术是解决这些新需求的有效手段,本文通过系统论述数据中心网络虚拟化技术中涉及的控制平面虚拟化技术和数据平面虚拟化技术,分析了业界主要厂商的技术实现和新的虚拟化标准协议的技术原理,为数据中心网络虚拟化技术的发展提出了一个较为清晰的演进路径. 关键词: 云计算 数据中心 网络虚拟化技术   [下载地址]:http://bbs.chinacloud.cn/showtopic-13551.asp

云计算数据中心综合布线的七大发展趋势

云计算是最近几年最热门的话题之一,我们的生活越来越离不开云,网络订票.购物.订房.订餐等各种应用层出不穷.云计算改变了人们的生活方式,也改变了数据中心的技术发展路线,为了满足不断涌现的互联网应用和不断增长的数据传输需求,云计算数据中心网络布线正面临以下七大发展趋势: 1. 高性能计算(100/40Gbps做主干,25/10Gbps到服务器) 传统的以太网以10为倍数来增长,从经济的角度来说,价格和功耗都会很高,难以满足快速增长的数据中心市场需求.下一代的以太网为以4为倍数来增长,100Gbps做

TRILL不适合数据中心网络架构的几大原因

关于使用Transparent Interconnection of Lots of Links (TRILL)协议来实现 数据中心网络桥接和 多路径的宣传非常的多, 但是将TRILL作为基础的数据中心架构忽略了一些重要的新趋势,包括云网络分段中出现的虚拟LAN(VLAN)类型变化需求.在<数据中心网络架构中的VLAN>这篇文章中我们介绍了VLAN的一些关键规模属性,包括VLAN大小.数量.范围这三个维度的指标.在本文中,我们将重点介绍TRILL不适合数据中心网络架构的几点看法.数据中心网络架

IBM针对云计算的数据中心网络安全性

新兴的IT 服务交付模型(如云计算)提供了灵活性和成本效益,但可能引入相当大的安全风险.了解访问网络的人员,在网络上运行的应用程序以及潜在的风险,是保持数据安全性和完整性的基础.同时,您需要可扩展的高性能http://www.aliyun.com/zixun/aggregation/13597.html">企业IT 基础结构,以便能够成功交付云计算环境.要实现这以点,您需要一个涵盖整个云计算基础结构的自动化安全解决方案. 针对数据中心网络的IBM网络集成服务- 针对云计算的网络安全性提供服

面向云计算数据中心的网络存储技术研究

面向云计算数据中心的网络存储技术研究 王志恒  李小勇 分析了云计算数据中心的存储需求,探讨了NAS和SAN的工作机制,对其在虚拟机环境下的性能进行比较测试.实验表明,在虚拟机环境下NAS和SAN之间的性能差异小于10%,远小于传统应用环境中的性能差异.综合考虑存储系统的可扩展性.易管理性等多种因素,在虚拟机环境下使用NAS存储是更为合理的方案. 面向云计算数据中心的网络存储技术研究

云计算数据中心对布线系统的影响

在谈云计算数据中心之前,我们要先了解一下,什么是云计算?云计算是指IT基础设施的交付和使用模式,指通过网络以按需.易扩展的方式获得所需的资源. 提供资源的网络被称为"云". "云"是IT的资源池,可以随时获取,按需使用,随时扩展,按使用付费.这种特性经常被称为像水电一样使用IT基础设施.云计算数据中心就是为云计算服务所需要的整体IT物理设备与基础设施. 提供云服务的数据中心能给用户超强大的计算能力,其中有一个特点就是"超大规模".如Google.

云数据中心网络架构是怎么融合的

  如果仅从字面上,数据中心融合网络架构还是不那么容易理解的,融合本身就是一个热词,很多场合都在使用,从三网融合.技术融合到存储融合,到处都在融合,那么,所谓的融合网络又是什么? 抛开对融合网络架构定义的追究,我们不妨看看数据中心发展,特别是云计算应用给数据中心网络带来的问题. 如今超大数据中心比比皆是,从Google到Facebook,数据中心规模之大令人瞠目.在国内,百度数据中心也有至少几万台服务器.几千台交换机,而数据中心管理人员只有几十人,管理如此规模设备,对网络部署自动化的要求比较高.