云存储系统性能测试结

更新时间:2024-02-10 作者:用户投稿原创标记本站原创 点赞:5244 浏览:19415

【摘 要 】云存储平台提供了海量的存储容量,可提供用户网盘、nfs、cifs、http接口等多种业务模式,但如何充分的发挥其系统性能,始终困扰着我们.本文通过测试云存储平台在各种业务场景、各种并发下的响应情况,探讨平台的优化和适合的及业务模式.

【关 键 词 】云存储 loadrunner 压力测试

一、背景

云存储平台开展了多种业务,如用户网盘怎么写作、基于nfs、cifs、http接口方式的共享存储怎么写作等.

但是,由于用户场景需求、文件块大小、并发情况差异较大,造成怎么写作器压力不均衡,或资源闲置,浪费处理能力,或无法满足需求,频繁报错等.

为了得到平台真实准确的处理能力,各种业务场景、各种并发情况下系统的响应情况,合理的分配系统资源,充分的发挥系统性能,同时检验系统是否能支持旋风等的业务,我们组织了相关的性能测试.


二、测试方案

(一)测试环境配置

测试使用云存储1套调度系统和资源组R9.测试单个资源组性能,可根据资源组性能线性扩展系数计算出多套资源组的整体性能.性能测试压力系统需要使用2根10GE光纤连接电信汇聚交换机,压力系统的交换机提供2个10GE光纤接口.

测试共使用共10台压力机,每台压力机有2个1Gbps的网口通过1GE网线与压力系统的交换机连接.压力交换机为cisco3750.压力机与云存储系统具备20GE的通信带宽.3750机通过2根10GE光纤与汇聚交换机nexus5000连接.

压力系统交换机所有网口和光口在同一个vlan中,其中两个光口做trunk,nexus5000交换机对应的两个光口同样也做绑定.

(二)测试对象及压力机配置

(1)云存储硬件情况.

(2)压力机基础配置.

(三)测试软件及工具

测试采用LoadRunner,该工具是业界使用最普遍的性能测试工具之一.它是一种预测系统行为和性能的工业标准级负载测试工具、也是一种适合多种体系架构和支持多种协议的自动负载测试工具.它通过模拟实际用户的操作行为和实行实时性能监测,来帮助使用者更快地查找和发现产品问题.缺点是该工具昂贵,并且测试带宽的功能较弱.

主要用该工具进行并发量测试.该工具的并发场景测试功能齐全、使用方便,是业界常用的测试工具.

(四)测试内容

测试策略.本次测试主要目的是通过测试不同大小的文件在不同并发、不同使用场景下(全读、全写、混合场景、网盘场景等)的性能值.

采用64KB文件模拟小文件场景,4MB文件模拟普通文件场景,100MB文件模拟大文件场景;并发压力采用1000、3000、6000递增测试.

网盘测试场景为模拟真实环境下用户的行为(30%list、50%读、20%写),因为网盘用户上传的文件大部分都是以小文件为主,所以选择的文件为60%64KB的文件,30%4MB的文件,10% 100MB.

本次测试主要关注每次请求的平均耗时、错误率、带宽.在错误率高于3%时记录主要错误日志.

测试用例设计.用例分为指标测试和场景测试两种类型.

指标测试关注系统并发能力和带宽.执行上传和下载操作的比例选择范围池是{(0:10),(1:9),(2:8),(3:7),(4:6),(5:5), (6:4),(7:3),(8:2),(9:1),(10:0)},分别为“全部执行下载操作”、“上传、下载操作数比例为1:9”、“上传、下载操作数比例为2:8”、等、“上传、下载操作数比例为9:1”、“全部执行上传操作”.系统会在不同的读写比例下表现出不同的性能.可适当选择一个或多个比例情况进行测试.

用例项说明.测试用例主要分为如下几部分:

全上传:通过分别测试64KB、4MB、100MB文件在不同并发下的上传情况,来测试平台的上传并发性能;

全下载:通过分别测试64KB、4MB、100MB文件,在不同的并发条件下(包括1000、3000、6000并发),并通过分别下载同一个文件、200个不同文件(模拟热点文件)、40000个不同文件(模拟完全下载不同文件),测试平台的下载文件的性能;

读写混合操作:测试64KB、4MB、100MB文件在不同的上传下载比下的情况下的并发性能;

网盘场景模拟:模拟E云网盘业务场景,测试平台并发性能.

三、测试结果及分析

(一)全上传并发性能测试

结果分析.根据测试结果来看,对于64KB、4MB、100MB大小的文件,在1000、3000、6000并发全上传情况下,系统都能正常运行.就上传带宽利用率来说,在6000并发下,上传100MB文件的带宽利用率最高.

(二)全下载并发性能测试

其中,全部下载同一个文件的性能最好;并且,对于4MB的文件,在按照一个资源组同一时间200个热点文件的情况下,其性能值与全部下载同一个文件的性能差别不大;对于极端情况,即下载的全部是不同文件的情况下,系统也能够较好的支撑,并平稳运行.

也就是说,对于单资源组同一时间存在<=200个热点文件的情况下,系统能够非常好的支持业务需求,例如旋风的下载业务.

(三)读写混合操作并发性能测试

说明:并发越大时,消耗的系统内部资源越多,在系统内部用于计算的资源消耗更多.64K文件由于其本身较小,在上传、下载时,每次的请求中也不会占用太多的系统内部资源和带宽;而在本用例中,4M大小的文件将消耗30%的并发数(三倍于100M文件),导致其占用的系统内部资源较多,所以,更多的请求被“阻塞”在网络中,导致带宽占用更大.

结果分析:本次测试不但测试了6000并发下的并发性能,也测了8000并发下的并发性能,通过测试结果数据,可看出,系统在6000、8000并发下都能正常运行.

(五)测试总结

通过不同场景的测试,共34项有效并发性能测试结果数据分析,云存储具有良好的稳定性,性能正常;不同大小文件的性能都能满足要求,且在高负载(6000并发)情况下,系统处理能力稳定.

在这些测试用例的测试中,就带宽利用率而言,上传过程中利用率最高的是6000并发下上传100MB的文件,下载过程中利用率最高的是6000并发下,下载单个或者200个不同的4MB的文件的带宽利用率最高,达到78%左右.通过对全下载并发性能和读写混合并发性能的测试,可以看出,系统有能力满足诸如旋风这种以下载为主的业务.

另外,从测试结果数据中可以看出,对于不同的业务场景(不同大小的文件、在不同的并发情况、不同的上传下载比例),系统的响应速度、带宽利用率是不同的.所以我们建议,在业务使用过程中,为了取得对平台最优化的利用率,需要根据业务类型的不同,进行实际的联调测试,进而进行不同的优化.例如对于“全球眼”这种以上传为主的业务,为了保证文件及时的上传完成,并获得较好的带宽利用率,可以考虑将文件切分成较小的文件进行上传(例如4MB,具体的分片大小,需要根据全球眼业务对视频的压缩比,以及联调测试之后的实际数据来定),这样可以取得最优的带宽利用率和系统处理速度.

最后,由于时间有限,所有用例只执行了一遍,在测试中还存在很多不确定因素;业界的压力测一般以8—10天为一个阶段,多次执行相同用例,根据大量的结果数据统计出相关平均值.在本次测试过程中只能体现出在不同并发下系统性能的一个渐进值,如需得到更为准确的结果,还需进行长时间、大压力测试.在现有设计的文件大小来说,4M文件大小设置是最好的(针对下载),上传时设置为100M时带宽利用率最好.