本发明属于存储产品测试领域,具体涉及一种广电业务场景下的分布式存储性能测试方法及系统。
背景技术:
广播电视领域因为it技术的进步而进行着深远的变化。电视台和互联网、移动通信网的结合,视听节目内容建设的加强,技术支撑能力和服务质量的提升,多种经营模式的探索和实现,都离不开后台存储系统对各业务条线的有效支撑。
当下广电领域数据以非结构化数据为主,如海量的音视频文件等,这些数据呈现爆发式的增长,文件数量在飞速增加,而且因为清晰度的要求,单个文件也变得越来越大。
广电业务条线大致包含非编系统、视频点播系统、媒资系统和监播系统,对于非编系统和媒资系统;非线性编辑(简称非编)是指直接从计算机的硬盘中以帧或文件的方式迅速、准确地存取素材,进行编辑的方式。非线性编辑可对视频素材不按照原来的顺序和长短,随意进行编排、剪辑的方式,制作完成以后的节目可以任意改变其中某个段落长度或者插入删除其他段落。非编系统需要存储提供巨大而且稳定的数据吞吐能力。
媒资系统可视为电视台的数据中心,业务部门既可以把制作完成、采集的节目或素材统一存储到媒资管理系统中进行集中管理,也可以反向高效检索、调用这些资料,是全台各种网络业务高效运行的支撑。媒资系统需要存储提供海量的存储容量和高效文件检索能力。
在存储产品的测试过程中,因为上述两种广电场景的特殊性,通用的测试模型,无法模拟实际使用过程中对存储设备的使用情况;通用型的性能测试工具无法适应上述两种广电场景的测试。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种广电业务场景下的分布式存储性能测试方法及系统,是非常有必要的。
技术实现要素:
本发明的目的在于,针对上述在存储产品的测试过程中,因为广电场景的特殊性,通用的测试模型,无法模拟实际使用过程中对存储设备的使用情况;通用型的性能测试工具无法适应上广电场景测试的缺陷,提供一种广电业务场景下的分布式存储性能测试方法及系统,以解决上述技术问题。
为实现上述目的,本发明给出以下技术方案:
一种广电业务场景下的分布式存储性能测试方法,包括如下步骤:
s1.根据广电业务场景,设置相适应的测试模型并编写相关测试数据;
s2.广电业务场景下,确定分布式存储系统的配置;
s3.根据配置搭建测试环境,所述测试环境包括分布式存储系统、网络系统和客户端系统;
s4.根据测试数据创建测试脚本;
s5.执行测试脚本,采用测试工具进行测试,并记录测试结果。
进一步地,s4中根据测试数据创建storcube测试脚本;
s5中执行测试脚本,采用storcube测试工具进行测试,并记录测试结果。以往的分布式存储设备性能测试中,大多选择通用型的性能测试工具,如vdbench、fio等。在这类测试工具中,文件由测试工具自动生成,不能更改文件类型,并且都是通过设定文件大小、块大小、读写方式等参数来模拟读写过程。然而,在广电业务场景中存储的文件大多是av格式,数据大多是以按照码率计算出来的帧的大小来写入的,显然,通用型的性能测试工具并不能适应广电业务场景的测试。storcube是sobey公司立足媒体行业存储测试应用,在之前的测试基础上面向全面的存储测试而开发的,该程序采用集中控制、分布运行的软件结构,控制端可以实现运行脚本编辑、系统控制、数据收集和显示等功能。分布运行的客户端代理实现脚本解析、io操作模拟和数据收集。运行代理支持一个机器运行多个实例,采用虚拟文件仿真的方式来模拟多个客户端操作该程序模拟网络化生产业务系统中若干站点对存储的各种i/o操作,测试系统的性能,可靠性等各种指标。此外,storcube工具生成的文件都为av格式,与广电业务文件类型一致,并且该工具还直接提供以帧为单位的写入方式,能更好的模拟广电业务的数据读写场景。
进一步地,步骤s1具体步骤如下:
s11.选择广电非编系统业务场景,设置广电非编系统的测试模型及编写广电非编系统的测试数据;
s12.选择广电媒资系统业务场景,设置广电媒资系统的测试模型及编写广电媒资系统的测试数据。
进一步地,步骤s11中广电非编系统的测试模型设置为测试在恒定码流及每路作业不丢帧时,存储系统可支持的最大路数。非编系统需要存储设备提供巨大而且稳定的数据吞吐能力。
进一步地,步骤s11中广电非编系统的测试数据为:
a、码流为100mb时,读写方式分别为100%写、100%读、以2:4的读写比例混合读写及以4:2的读写比例混合读写时对应的存储系统支持的最大路数;
b、码流为200mb时,读写方式分别为100%写、100%读、以2:4的读写比例混合读写及以4:2的读写比例混合读写时对应的存储系统支持的最大路数。
进一步地,步骤s12中广电媒资系统的测试模型设置为测试正常运行时,存储系统可存储的最大容量及读写可达到的最大带宽。媒资系统需要存储设备提供海量的容量和高效文件检索能力。
进一步地,步骤s12中,广电媒资系统的测试数据为:
c、4客户端情形,每次读写块大小为512k时,读写方式分别为顺序写、顺序读、以2:4的读写比例顺序混合读写、以4:2的读写比例顺序混合读写、随机写、随机读、以2:4的读写比例随机混合读写以及以4:2的读写比例随机混合读写时可达到的带宽;
d、8客户端情形,每次读写块大小为4m时,读写方式分别为顺序写、顺序读、以2:4的读写比例顺序混合读写、以4:2的读写比例顺序混合读写、随机写、随机读、以2:4的读写比例随机混合读写以及以4:2的读写比例随机混合读写时可达到的带宽。
进一步地,步骤s2中,所述分布式存储系统为基于ceph的分布式存储系统;基于ceph的分布式存储系统的配置具体为:
e.对象存储设备模块osd配置,设置存储分区和纠删分区;
f.存储池设置采用纠删池;广电媒资系统和广电非编系统对带宽的要求较高,纠删池保证带宽的最优性,减少冗余与计算;
g.控制节点mon配置,设置最少3个mon节点,并将mon节点数据存放到ssd盘;实现集群在掉1节点的情况下依然正常工作;
h.控制数据服务节点mds配置,设置2个mds节点,一主一备;存储文件都是大文件,元数据交互频率不大;所有配置2个mds节点;
i.通用网络文件系统服务cifs配置,在每个存储节点开启samba服务;实现业务带宽平均分散;
j.网络配置,设置1/4的网口提供nas服务,1/4的网口提供pubilc服务,1/4的网口提供集群cluster分离服务;实现对外业务的带宽要求,且没有其他数据流的干扰。
进一步地,e.对象存储设备模块osd配置10个osd模块,3个ssd做存储池,105个sata做2+1冗余纠删池;保证元数据交互的高效性;
基于ceph的分布式存储系统的配置还包括集群配置:
k.配置noscrub和nodeep-scrub;noscrub,为ceph集群不做osd清理;
nodeep-scrub,有时候在集群恢复时,scrub操作会影响到恢复的性能,和noscrub一起设置来停止scrub;实现业务不受集群自检的干扰;
l.设置noout;mon在过了300秒(mon_osd_down_out_interval)后自动将down掉的osd标记为out,一旦out数据就会开始迁移,建议在处理故障期间设置该标记,避免osd故障时数据迁移;
m.配置ctdb服务,提供虚拟ip供客户链接,保证集群高可用;
n.设置定时清除缓存脚本,防止缓存过大导致集群问题。
本发明还给出如下技术方案:
一种广电业务场景下的分布式存储性能测试系统,包括
测试模型设置模块,用于根据广电业务场景,设置相适应的测试模型并编写相关测试数据;
分布式存储系统配置模块,用于在广电业务场景下,确定分布式存储系统的配置;
测试环境搭建模块,用于根据配置搭建测试环境,所述测试环境包括分布式存储系统、网络系统和客户端系统;
测试脚本创建模块,用于根据测试数据创建测试脚本;
测试模块,用于执行测试脚本,采用测试工具进行测试,并记录测试结果。
本发明的有益效果在于:
本发明根据广电业务场景测试模型模拟出用户的读写操作并生成测试文件,使用的测试工具进行测试;减少测试过程中的不必要的性能调优时间,直接获得最优的测试结果。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
图1为本发明的方法流程图;
图2为本发明的系统示意图;
其中,1-测试模型设置模块;2-分布式存储系统配置模块;3-测试环境搭建模块;4-测试脚本创建模块;5-测试模块。
具体实施方式:
为使得本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明具体实施例中的附图,对本发明中的技术方案进行清楚、完整地描述。
实施例1:
如图1所示,本发明提供一种广电业务场景下的分布式存储性能测试方法,包括如下步骤:
s1.根据广电业务场景,设置相适应的测试模型并编写相关测试数据;
s2.广电业务场景下,确定分布式存储系统的配置;
s3.根据配置搭建测试环境,所述测试环境包括分布式存储系统、网络系统和客户端系统;
s4.根据测试数据创建测试脚本;
s5.执行测试脚本,采用测试工具进行测试,并记录测试结果。
上述实施例1中,s4中根据测试数据创建storcube测试脚本;
s5中执行测试脚本,采用storcube测试工具进行测试,并记录测试结果;
步骤s1具体步骤如下:
s11.选择广电非编系统业务场景,设置广电非编系统的测试模型及编写广电非编系统的测试数据;
广电非编系统的测试模型设置为测试在恒定码流及每路作业不丢帧时,存储系统可支持的最大路数;
广电非编系统的测试数据为:
a、码流为100mb时,读写方式分别为100%写、100%读、以2:4的读写比例混合读写及以4:2的读写比例混合读写时对应的存储系统支持的最大路数;
b、码流为200mb时,读写方式分别为100%写、100%读、以2:4的读写比例混合读写及以4:2的读写比例混合读写时对应的存储系统支持的最大路数;
s12.选择广电媒资系统业务场景,设置广电媒资系统的测试模型及编写广电媒资系统的测试数据;
广电媒资系统的测试模型设置为测试正常运行时,存储系统可存储的最大容量及读写可达到的最大带宽;
广电媒资系统的测试数据为:
c、4客户端情形,每次读写块大小为512k时,读写方式分别为顺序写、顺序读、以2:4的读写比例顺序混合读写、以4:2的读写比例顺序混合读写、随机写、随机读、以2:4的读写比例随机混合读写以及以4:2的读写比例随机混合读写时可达到的带宽;
d、8客户端情形,每次读写块大小为4m时,读写方式分别为顺序写、顺序读、以2:4的读写比例顺序混合读写、以4:2的读写比例顺序混合读写、随机写、随机读、以2:4的读写比例随机混合读写以及以4:2的读写比例随机混合读写时可达到的带宽;
步骤s2中,所述分布式存储系统为基于ceph的分布式存储系统;基于ceph的分布式存储系统的配置具体为:
e.对象存储设备模块osd配置,设置存储分区和纠删分区;对象存储设备模块osd配置10个osd模块,3个ssd做存储池,105个sata做2+1冗余纠删池;
f.存储池设置采用纠删池;
g.控制节点mon配置,设置最少3个mon节点,并将mon节点数据存放到ssd盘;
h.控制数据服务节点mds配置,设置2个mds节点,一主一备;
i.通用网络文件系统服务cifs配置,在每个存储节点开启samba服务;
j.网络配置,设置1/4的网口提供nas服务,1/4的网口提供pubilc服务,1/4的网口提供集群cluster分离服务;
基于ceph的分布式存储系统的配置还包括集群配置:
k.配置noscrub和nodeep-scrub;
l.设置noout避免osd故障时数据迁移;
m.配置ctdb服务;
n.设置定时清除缓存脚本。
实施例2:
如图2所示,本发明提供一种广电业务场景下的分布式存储性能测试系统,其特征在于,包括
测试模型设置模块1,用于根据广电业务场景,设置相适应的测试模型并编写相关测试数据;
分布式存储系统配置模块2,用于在广电业务场景下,确定分布式存储系统的配置;
测试环境搭建模块3,用于根据配置搭建测试环境,所述测试环境包括分布式存储系统、网络系统和客户端系统;
测试脚本创建模块4,用于根据测试数据创建测试脚本;
测试模块5,用于执行测试脚本,采用测试工具进行测试,并记录测试结果。
本发明的实施例是说明性的,而非限定性的,上述实施例只是帮助理解本发明,因此本发明不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他的具体实施方式,同样属于本发明保护的范围。