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

本文涉及的产品
性能测试 PTS,5000VUM额度
简介:

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

  测试设计

  数据中心网络性能测试手段很多,业务仿真测试是最能体现实际应用情 况的测试方法。业务仿真测试往往需要利用大量服务器和存储设备,通过部署仿真应用环境来测试网络针对此类型应用的转发性能。但此方法受成本和测试复杂度影 响,一般只在超大型且应用较为单一的数据中心测试时使用,如百度/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/

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
6天前
|
存储 安全 网络安全
云计算与网络安全:构建安全的数字基石## 一、
本文探讨了云计算与网络安全之间的紧密联系,强调在享受云服务带来的便利与效率的同时,必须重视并加强信息安全管理。通过分析云服务的基本概念、特点及面临的主要安全风险,提出了一系列增强网络安全的策略与措施,旨在为企业和个人用户提供一个更加安全、可靠的云计算环境。 ## 二、
|
27天前
|
存储 安全 网络安全
云计算与网络安全:技术融合下的风险与对策
【9月更文挑战第16天】在数字化时代的浪潮中,云计算以其高效、便捷的特点成为企业信息化的首选。然而,云服务的普及也带来了新的网络安全挑战。本文将深入探讨云计算环境中的安全风险,分析云服务模型特有的安全需求,并提出相应的信息安全措施。我们将通过实际案例,了解如何在享受云计算便利的同时,保障数据的安全性和隐私性。
|
15天前
|
人工智能 安全 网络安全
云计算与网络安全:构建安全的数字基石##
在当今数字化时代,云计算已成为推动企业创新和效率的关键驱动力。然而,随着数据上云,网络安全威胁也日益增多,对信息的保护提出了更高要求。本文将深入探讨云计算服务模型、面临的主要网络安全挑战,以及如何通过技术手段和管理策略来强化信息安全,确保数据的完整性、可用性和保密性。 ##
|
17天前
|
存储 安全 网络安全
云计算与网络安全:构建安全的数字基石##
随着云计算技术的飞速发展,越来越多的企业和个人选择将数据和应用迁移到云端。然而,在享受云计算带来的便利和效率的同时,网络安全问题也日益凸显。本文将深入探讨云计算环境中的网络安全挑战,分析云服务、网络安全及信息安全等关键技术领域的现状与发展趋势,并提出相应的解决策略。 ##
|
24天前
|
存储 安全 网络安全
云计算与网络安全的协同进化:探索云服务中的信息安全技术
【9月更文挑战第19天】 在数字化浪潮中,云计算已成为企业和个人存储、处理数据的心脏。然而,随着其广泛应用,网络安全问题亦步亦趋,成为制约云服务发展的关键因素。本文将深入探讨云计算环境下的网络安全挑战,分析当前信息安全技术的应对策略,并通过实际代码示例,揭示如何在云计算架构中实现安全加固。我们将一同见证,如何在数据流动与保护之间找到平衡点,确保云计算的健康稳定发展。
|
7天前
|
监控 安全 网络安全
云计算与网络安全:探索云服务中的信息安全实践
【9月更文挑战第36天】在数字化转型的浪潮中,云计算已成为企业IT架构的核心。然而,随着其应用的广泛性,网络安全问题也日益凸显。本文将深入探讨云计算环境中的网络安全挑战,并提出相应的安全策略和技术解决方案。我们将从云服务的基本原理出发,分析常见的网络威胁,并介绍如何通过加密、访问控制和安全监控等手段来保护云环境。文章旨在为读者提供一套实用的云安全指南,帮助他们在享受云计算带来的便利的同时,确保数据的安全和隐私。
39 16
|
4天前
|
存储 安全 网络安全
云计算与网络安全:云服务、网络安全、信息安全的技术探讨
在当今数字化时代,云计算和网络安全已成为企业和个人用户不可或缺的技术。本文将深入探讨云计算的基本概念、云服务类型、网络安全的重要性、信息安全的关键要素以及如何确保数据安全。通过分析这些技术领域的发展趋势和挑战,我们将为读者提供关于如何在云环境中保护数据安全的实用建议。
|
3天前
|
存储 安全 网络安全
云计算与网络安全:云服务、网络安全、信息安全等技术领域的探讨
随着云计算技术的迅速发展,越来越多的企业和个人开始使用云服务。然而,云计算在带来便利的同时,也带来了一系列的网络安全问题。本文将从云计算的基本概念出发,深入探讨云计算与网络安全的关系,包括云服务的安全问题、网络安全防护措施以及信息安全的重要性。同时,本文还将通过代码示例,展示如何在云计算环境下进行有效的网络安全防护。
|
7天前
|
存储 安全 网络安全
云计算与网络安全的交织:构建安全的数字基石##
在当今信息化时代,云计算已成为推动技术进步和创新的重要驱动力。然而,随着云服务的普及,网络安全问题也日益凸显,成为制约云计算发展的关键因素。本文将深入探讨云计算与网络安全的内在联系,分析当前面临的主要挑战,并提出相应的解决策略。通过技术创新、法规完善、用户教育等多方面的努力,我们可以共同构建一个既高效又安全的云计算环境。 ##
|
14天前
|
机器学习/深度学习 安全 网络安全
云计算与网络安全的融合:构建安全高效的云服务体系
本文深入探讨了云计算与网络安全之间的紧密联系,特别是在云服务、网络安全和信息安全等关键技术领域。随着云计算技术的迅猛发展,数据安全成为企业和组织面临的主要挑战之一。通过分析当前云服务中的安全漏洞和威胁,本文提出了一系列增强云计算环境安全性的策略和技术措施,包括加密技术、访问控制、身份验证以及安全审计等。此外,还讨论了未来云计算和网络安全技术的发展趋势,强调了技术创新在提高数据处理效率和保护信息安全中的重要性。