一种集群服务器的模拟测试系统技术方案

技术编号:15652406 阅读:118 留言:0更新日期:2017-06-17 05:51
本发明专利技术提供了一种集群服务器的模拟测试系统,包括自动测试模块,根据输入预定义的关键指标模板生成测试用例,以生成模拟集群服务器操作的REST请求;模拟模块,用于模拟计算环境下对REST请求作出响应;收集模块,用于采集模拟模块在模拟测试过程中所产生的指标数据,并对指标数据作序列化处理;持久化存储介质,保存经过序列化处理的指标数据;分析模块,自持久化存储介质中调用经过序列化处理的指标数据,并根据关键指标模板生成单次模拟测试报告;报告模块,将多份单次模拟测试报告进行汇总并进行数理抽样统计后输出指标汇总结果。通过发明专利技术,实现了对集群服务器的各项性能作出真实且准确的模拟测试,降低了模拟测试系统的成本及部署成本。

【技术实现步骤摘要】
一种集群服务器的模拟测试系统
本专利技术涉及云计算的性能测试及评估
,尤其涉及一种集群服务器的模拟测试系统。
技术介绍
性能测试是云平台、集群服务器或者应用上线前的一项重要工作。进行性能测试的目的在于对云平台或者集群服务器可支持虚拟机的数量、峰值请求的规模、数据库的最大请求的规模、消息队列访问量等诸多云计算指标进行测试与评价。目前存在三种性能测试工具,即WebStone、WebBench、SPECWeb99。上述性能测试工具虽然功能强大,结果客观权威,但是它们在集群服务器性能测试存在难以产生足够数量的客户请求,因此需要占用或者使用大量的物理计算机来运行客户端程序,才能生成集群服务器在真实运行环境中所面临的负载以进行性能检测及评价。如果需要对集群服务器测试超载情况实例中的性能,则需要更多运行客户端程序的物理计算机。因此,上述三种性能测试工具及其基于该等测试工具的性能测试方法存在测试成本较高,测试时间较长的缺陷,维护成本较高。此外,现有技术中对集群服务器进行性能测试的方法/系统/装置/工具存在功能单一的问题,即在现有技术中仅能对集群服务器的某一种性能,例如Web测试、软件测试等。因此,现有技术中的大多数测试工具无法对网络、磁盘吞吐峰值、CPU或者内存使用等诸多方面进行综合性能测试。此外,还存在过分偏重某一种性能指标的认定,导致对集群服务器的性能测试存在一定的片面性与局限性,无法从全局角度对集群服务器的性能作综合评价,并且无法在部署、测试、模拟、评价等多个方面提供一体化解决方案。有鉴于此,有必要对现有技术中对集群服务器的模拟测试系统予以改进,以解决上述问题
技术实现思路
本专利技术的目的在于公开一种集群服务器的模拟测试系统,用以实现真实的模拟云计算环境中的集群服务器的状态,实现对集群服务器的各项性能作出真实且准确的模拟测试,同时降低传统的对集群服务器进行性能模拟测试的测试系统的成本,以显著降低部署成本。为实现上述目的,本专利技术提供了一种集群服务器的模拟测试系统,其包括:自动测试模块,根据输入预定义的关键指标模板生成测试用例,以生成模拟集群服务器操作的REST请求;模拟模块,用于模拟计算环境下对REST请求作出响应;收集模块,用于采集模拟模块在模拟测试过程中所产生的指标数据,并对指标数据作序列化处理;持久化存储介质,保存经过序列化处理的指标数据;分析模块,自持久化存储介质中调用经过序列化处理的指标数据,并根据关键指标模板生成单次模拟测试报告;报告模块,将多份单次模拟测试报告进行汇总并进行数理抽样统计后输出指标汇总结果。作为本专利技术的进一步改进,所述模拟模块包括:由部署在容器外的预处理模块及压力执行模块,以及模拟计算驱动所组成的模拟计算模块;其中,预处理模块用于接收输入需要模拟的测试类型、测试请求和测试响应,并生成压力测试;压力执行模块用于记录压力测试记录;模拟计算驱动用于远程调用压力执行模块中保存的压力测试记录,并模拟真实计算驱动对压力测试所作出的响应,并向压力执行模块作反馈。作为本专利技术的进一步改进,所述自动测试模块通过调用Jmeter或者Rally构造用户发送的REST请求,以模拟用户对集群服务器的真实操作。作为本专利技术的进一步改进,所述关键指标模板由数据库指标模板、消息队列指标模板、OSAPI指标模板中的一种或者多种组成。作为本专利技术的进一步改进,所述数据库指标模板包含:QPS指标、TPS指标、Commit/S指标、Con/S指标;所述消息队列指标模板包含msg/S指标、延迟指标、吞吐指标;所述OSAPI指标模板包含单位处理请求数指标。作为本专利技术的进一步改进,所述模拟计算驱动部署于基于Docker的容器中,以抽象和模拟集群服务器的底层服务细节。作为本专利技术的进一步改进,所述模拟模块还包括模拟网络模块及模拟存储模块,所述模拟计算模块、模拟网络模块及模拟存储模块通过消息队列与OSAPI相连。作为本专利技术的进一步改进,所述集群服务器操作包括:增加操作、查询操作、修改操作、修补操作、删除操作及其上述操作的排列组合。作为本专利技术的进一步改进,经过序列化处理后的指标数据以日志、二进制数据流、数字指纹、数字签名、音频的形式保存于持久化存储介质中;所述持久化存储介质包括数据库、机械磁盘、固态硬盘、RAID、NVDIMM或者光盘;其中,所述数据库包括:网状数据库、关系数据库、树状数据库或者面向对象数据库。作为本专利技术的进一步改进,所述数理抽样统计具体为:对保存于数据库中的多份有效样本进行置信区间计算,以输出指标报告;其中,多份有效样本进行置信区间的计算所采用的置信水平取0.9、0.95或者0.99。与现有技术相比,本专利技术的有益效果是:在本专利技术中,通过用户输入的自定义的关键指标模板,实现了对集群服务器在云计算环境中根据已有评价数据建立准确的评价测试模型,并通过数理抽样统计实现了对集群服务器的各项性能作出真实且准确的模拟测试,同时降低了模拟测试系统的成本,从而显著地降低了部署成本。附图说明图1为现有技术中待模拟测试的集群服务器的拓扑图;图2为对集群服务器进行模拟测试的模拟模块的拓扑图;图3为单次模拟测试流程图;图4为样本分析流程图;图5为模拟前的计算集群中的一个物理计算节点的拓扑图;图6为模拟计算驱动对计算集群中的一个物理计算节点进行模拟后的拓扑图;图7为模拟计算模块进行关键指标测试时的时序图;图8为模拟计算模块内部交互的时序图。具体实施方式下面结合附图所示的各实施方式对本专利技术进行详细说明,但应当说明的是,这些实施方式并非对本专利技术的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本专利技术的保护范围之内。在详细阐述本专利技术之前,首先对说明书中的主要技术术语及其定义作出简要阐述。术语“JMeter”:apache提供的开源测试框架。术语“openstack”:开源的云计算项目。术语“OSAPI”:openstack应用程序接口,一种程序的逻辑抽象。术语“Rally”:openstack提供的基准测试工具。术语“Docker”:一种开源的容器项目。术语“REST”:一种设计风格,旨在用简单的请求用于交互,常用的RESTful请求有GET/POST/PUT/DELETE/PATCH。术语“mysql”及“mariadb”:mysql是一种开源数据库,mariadb是mysql的一个衍生分支。术语“QPS”:querypersecond,其为数据库性能评测的指标之一。JMeter是Apache组织开发的基于java的压力模拟工具,相比其他HTTP测试工具,JMeter最主要的特点在于扩展性强,目前已大量应用在各个公司的性能测试过程中。它提供了一个利用本地ProxyServer(代理服务器)来录制生成测试脚本的功能,实现了强大的测试功能并能够提供聚合报告,当build一项任务时,在若干任务中查找所需的任务,运行结束后生成HTML报告(Report),并查看测试的输出结果。生成的报告上显示了每次测试运行的结果,包括测试状态、时间、数据执行顺序以及所有测试花费的时间,使用户或测试开发者直观的掌握整体测试状况、查看测试报告结果。请参图1至图8所示出的本专利技术一种集群服务器的模拟测试系统的一种具体实施方式。参图7及本文档来自技高网
...
一种集群服务器的模拟测试系统

【技术保护点】
一种集群服务器的模拟测试系统,其特征在于,包括:自动测试模块,根据输入预定义的关键指标模板生成测试用例,以生成模拟集群服务器操作的REST请求;模拟模块,用于模拟计算环境下对REST请求作出响应;收集模块,用于采集模拟模块在模拟测试过程中所产生的指标数据,并对指标数据作序列化处理;持久化存储介质,保存经过序列化处理的指标数据;分析模块,自持久化存储介质中调用经过序列化处理的指标数据,并根据关键指标模板生成单次模拟测试报告;报告模块,将多份单次模拟测试报告进行汇总并进行数理抽样统计后输出指标汇总结果。

【技术特征摘要】
1.一种集群服务器的模拟测试系统,其特征在于,包括:自动测试模块,根据输入预定义的关键指标模板生成测试用例,以生成模拟集群服务器操作的REST请求;模拟模块,用于模拟计算环境下对REST请求作出响应;收集模块,用于采集模拟模块在模拟测试过程中所产生的指标数据,并对指标数据作序列化处理;持久化存储介质,保存经过序列化处理的指标数据;分析模块,自持久化存储介质中调用经过序列化处理的指标数据,并根据关键指标模板生成单次模拟测试报告;报告模块,将多份单次模拟测试报告进行汇总并进行数理抽样统计后输出指标汇总结果。2.根据权利要求1所述的集群服务器的模拟测试系统,其特征在于,所述模拟模块包括:由部署在容器外的预处理模块及压力执行模块,以及模拟计算驱动所组成的模拟计算模块;其中,预处理模块用于接收输入需要模拟的测试类型、测试请求和测试响应,并生成压力测试;压力执行模块用于记录压力测试记录;模拟计算驱动用于远程调用压力执行模块中保存的压力测试记录,并模拟真实计算驱动对压力测试所作出的响应,并向压力执行模块作反馈。3.根据权利要求1或者2所述的集群服务器的模拟测试系统,其特征在于,所述自动测试模块通过调用Jmeter或者Rally构造用户发送的REST请求,以模拟用户对集群服务器的真实操作。4.根据权利要求1或者2所述的集群服务器的模拟测试系统,其特征在于,所述关键指标模板由数据库指标模板、消息队列指标模板、OSAPI指标模板中的一种或者多种组成。5.根据权利要求4所述的...

【专利技术属性】
技术研发人员:许广彬郑军刘志坤张建峰
申请(专利权)人:无锡华云数据技术服务有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1