Ixia网络服务器测试方案.docx
《Ixia网络服务器测试方案.docx》由会员分享,可在线阅读,更多相关《Ixia网络服务器测试方案.docx(9页珍藏版)》请在冰豆网上搜索。
Ixia网络服务器测试方案
Ixia网络服务器测试方案
Version
Date
Author
Memo
V1.0
2013.1.16
ShushengHuang
Draft
V1.1
2013.1.18
ShushengHuang
Edit
V1.2
2013.10.22
MingtaoYang
Edit
目 录
1. IXIA公司 1
2. IxLoad测试工具 1
3. 测试环境 2
4. 关键指标及测试方法 2
4.1新建速率 2
4.2并发连接数 5
4.3用户数 6
4.4L7吞吐量GoodPut 7
4.5事务速率 8
1.IXIA公司
IXIA公司成立于1997年,2000年在纳斯达克上市(代号XXIA),总部位于美国加州Calabasas,具有雄厚的财力及长期连续的盈利和增长记录。
在全球50多个国家有分支机构,员工超过1450名,国内在上海,北京,深圳,广州,成都,南京设有分公司或办事处,总部设在上海。
IXIA公司致力于提供IP通信领域的测试解决方案,无线方面从WiFi/3G/4G接入一直到LTEEPC,有线方面从ADSL/EPON/GPON宽带接入、以太网城域汇聚到Internet高速互联骨干网等各个方面的测试需求,IXIA都可以提供端到端的解决方案。
现在通信网络的发展趋势是EverythingOverIP,IXIA公司在测试领域也领导着网络融合以及各种应用测试的潮流,尤其在高性能,高可靠性和安全测试方面可以很好的满足业界的需求,在近年流行的云计算、DataCenter、OpenFlow,IXIA都第一时间推出完整的测试解决方案,2012年连续收购Anue和BreakingPointSystem两家公司,进一步丰富并扩展了产品线,并让IXIA始终处于测试领域的领先者。
2.IxLoad测试工具
IxLoad是业内扩展性能最高的融合多重播放业务和应用交付平台测试解决方案。
IxLoad可对数据、语音和视频用户及其相关协议进行仿真,以实现超高性能测试。
独特而先进的用户建模功能可创建逼真的场景,从而对用户体验质量QoE进行验证,IxLoad是业界领先的4~7层多重播放测试解决方案,在全球ConvergedTriplePlay测试统计中,市场份额排名全球第一(FrostandSullivan)。
3.测试环境
使用IXIA仪表的一个端口与服务器对接。
服务器上做HTTPServer,IXIA端口模拟HTTP Client。
IXIA端口可以通过仿真大量真实的HTTPClients行为来测试服务器的各种性能指标。
4.关键指标及测试方法
在L4-7层测试中,最常见的测试指标有下面几个:
新建速率CPS,并发数CC,用户数SU,吞吐量GoodPut,事务速率TR,服务请求延迟。
4.1新建速率
新建速率(CPS=ConnectionsPerSecond),是指服务器每秒能处理的TCP连接数。
为了更好地测试出服务器最大性能,建议:
1.将Client/Server的TCPTransmit/ReceiveBuffer设成最小值1024。
2.DisableRFC1323TCPTimestamps。
3.TransactionPerTCPConnection设成1,默认值就是1.
4. 使用较小字节页面,将HTTP的传输数据载荷设置为尽量小(常见为
64字节),以加快Client和Server报文交互速率,便于更加准确地测
试出设备能力上限。
5.设定足够的测试持续时间(如1800s),以保证测试结果的稳定性和有效
性。
6.在测试开始前记录服务器的CPU/内存等关键性能指标,测试过程中和结
束后对这些指标进行监控,实时了解服务器的运行情况。
4.2并发连接数
并发连接数(CC=ConcurrentConnection),是指服务器能同时并发存在的最大TCP连接数量。
由于实际的网络模型都是在不断的进行TCP连接建立和关闭,因此并发数测试结果也要在稳定的新建速率下获得,而不能同时将所有TCP连接一起打开再进行等待。
过高的新建速率会导致服务器的并发处理能力下降,从而影响最终的并发数测试结果;同理,而较低的新建速率则会导致超长的会话保持时间,也与实际模型相背。
所以,在测试并发数时,需要在一定的CPS(小于等于最大的CPS)下测试才比较符合实际网络模型。
当然,也可以在不同的CPS下分别测试一下,从而得到不同的CC,从而更加全面地掌握服务器的性能指标。
CPS取值可以是最大CPS的百分比,如25%,50%,75%,100%。
也可以按服务器CPU使用率来取值,比如以当CPU使用率达到50%时的CPS值来测试CC。
为了更好地测试出服务器最大性能,建议:
1. 将client/server的TCPTransmit/ReceiveBuffer设成最小值1024。
2. DisableRFC1323TCPTimestamps。
3.用HTTP1.1,并将TransactionPerTCPconnections设成Maximum。
4.使用较小字节页面,将HTTP的传输数据载荷设置为尽量小(常见为
64字节),以加快Client和Server报文交互速率,便于更加准确地测
试出设备能力上限。
5.设定足够的测试持续时间(如1800s),以保证测试结果的稳定性和有效
性。
6.在测试开始前记录服务器的CPU/内存等关键性能指标,测试过程中和结
束后对这些指标进行监控,实时了解服务器的运行情况。
4.3用户数
用户数(SU=SimulatedUser),指服务器最多能支持同时连接的用户数。
在测试过程中,要配置一个合理的新建用户速率,如每秒1000用户,经过一定时间后所在线用户数会达到目标值。
过大的新建用户速率有可能会超过服务器的瞬时处理能力,从而影响最终测试结果;同理,过小的新建用户速率会导致测试时间过长并且不符合实际网络模型。
一旦用户数达到设定的目标值,所有用户就会开始不断执行新建连接并执行transaction,然后关闭连接,以模拟现实情况,用户在浏览网页场景。
为了更好地测试出服务器最大性能,建议:
1. 将client/server的TCPTransmit/ReceiveBuffer设成最小值1024。
2. DisableRFC1323TCPTimestamps。
3. 使用较小字节页面,将HTTP的传输数据载荷设置为尽量小(常见为
64字节),以加快Client和Server报文交互速率,便于更加准确地测
试出设备能力上限。
4. ConcurrentTCPConnectionsperUser设为1。
5.设定足够的测试持续时间(如1800s),以保证测试结果的稳定性和有效
性。
6.在测试开始前记录服务器的CPU/内存等关键性能指标,测试过程中和
结束后对这些指标进行监控,实时了解服务器的运行情况。
4.4L7吞吐量GoodPut
通常所说的吞吐量(Throughput),是设备2层帧的转发能力。
但如果用这种计算方式来计算7层应用层的吞吐量,是不能真实反响到最终应用体验。
比如对于HTTP,使用TCP作为传输协议,由于TCP是可靠连接,若丢包后会重传。
所以,从应用角度,吞吐量计算时,是不应该包含这部分重传的流量。
同理,协议报头也不能计算在内,只计算HTTP的有效载荷(payload)。
所以,RFC2647定义应用吞吐量GoodPut,又称为L7吞吐量,是指服务器每秒可以有效传输的最大应用数据量。
例如,用HTTP传输一个1GB大小的文件,用时100秒,那么,
GoodPut=文件大小/传输时间=1GB/100s=10MB/s
为了更好地测试出服务器最大性能,建议:
1.将Client的TCPTransmitBuffer设为4096,ReceiveBuffer设为
32768,将Server的TransmitBuffer设为32768,ReceiveBuffer设为4096。
2. DisableRFC1323TCPTimestamps。
3.用HTTP1.1,并将TransactionPerTCPconnections设成Maximum,
TCP connectionsperUser设为20。
4. 用一个GET命令,使用较大字节页面,一般用1024KB。
5.设定足够的测试持续时间(如1800s),以保证测试结果的稳定性和有效
性。
6.在测试开始前记录服务器的CPU/内存等关键性能指标,测试过程中和结
束后对这些指标进行监控,实时了解服务器的运行情况。
4.5事务速率
对于HTTP来说,一个事务(Transaction)是指客户端向服务端发起一个请求(Request),然后服务端回复一个响应(Response),即是一次2-way过程。
事务速率(TransactionRate)是指每秒服务器能处理的事务量。
为了更好地测试出服务器最大性能,建议:
1. 将client/server的TCPTransmit/ReceiveBuffer设成最小值1024。
2. DisableRFC1323TCPTimestamps。
3.用HTTP1.1,并将TransactionPerTCPconnections设成Maximum。
4. 使用较小字节页面,将HTTP的传输数据载荷设置为尽量小(常见为
64字节),以加快Client和Server报文交互速率,便于更加准确地测
试出设备能力上限。
5.设定足够的测试持续时间(如1800s),以保证测试结果的稳定性和有效
性。
6.在测试开始前记录服务器的CPU/内存等关键性能指标,测试过程中和结
束后对这些指标进行监控,实时了解服务器的运行情况。
4.6协议延迟测试
协议延迟测试非常重要因为它直观反映了用户打开网页的感受。
例如,一个基于网络的可视化web应用程序需要一个良性的,高带宽,低延迟和不丢包的网络。
如果延迟很高,那么性能下降会非常的快。