一种性能测试方法及装置制造方法及图纸

技术编号:22054785 阅读:19 留言:0更新日期:2019-09-07 15:05
本发明专利技术实施例公开了一种性能测试方法及装置,该方法包括:从SQL执行的历史任务中选取部分历史任务;对部分历史任务进行分类,以获得M类任务,M类任务中的每类任务均包括至少一个任务,M为大于或等于2的整数;从M类任务中的每类任务中选取至少一个任务,以获得测试任务;执行测试任务。采用本发明专利技术实施例,通过不同种类的SQL历史任务,可以对Spark SQL分布式系统的性能进行全面测试。

A Performance Testing Method and Device

【技术实现步骤摘要】
一种性能测试方法及装置
本专利技术涉及计算机
,尤其涉及一种性能测试方法及装置。
技术介绍
Spark是专为大规模数据处理而设计的快速通用的计算引擎,Spark结构化查询语言(StructuredQueryLanguage,SQL)是Spark的一个组件,用于结构化数据的计算。SparkSQL提供了一个称为DataFrames的编程抽象,DataFrames可以充当分布式SQL查询引擎,因此,对SparkSQL分布式系统性能进行测试是一个非常重要的问题。目前,业界通过TPC(TransactionProcessingPerformanceCouncil,事务处理性能委员会)指定的SQL任务及数据对SparkSQL分布式系统性能进行测试。上述方式中使用的SQL任务及数据是指定的,因此,只能针对特定SQL任务下的性能进行测试,而特定SQL任务覆盖范围小,以至无法对SparkSQL分布式系统的性能进行全面测试。
技术实现思路
本专利技术实施例提供一种性能测试方法及装置,通过不同种类的SQL历史任务,可以对SparkSQL分布式系统的性能进行全面测试。本专利技术实施例第一方面提供了一种性能测试方法,包括:从SQL执行的历史任务中选取部分历史任务;对所述部分历史任务进行分类,以获得M类任务,所述M类任务中的每类任务均包括至少一个任务,所述M为大于或等于2的整数;从所述M类任务中的每类任务中选取至少一个任务,以获得测试任务;执行所述测试任务。在一个可能的实现方式中,所述从SQL的历史任务中选取部分任务包括:获取SQL执行的全部历史任务;统计第一任务中每个词的出现频率,所述第一任务为所述全部历史任务中的任一任务;根据所述出现频率从所述全部历史任务中选取部分历史任务。在一个可能的实现方式中,所述方法还包括:根据词法和语法确定第二任务中关键词的出现频率、所述第二任务中的条件数量和所述第二任务所使用的表数量,所述第二任务是所述部分历史任务中的任一任务;所述对所述部分历史任务进行分类,以获得M类任务包括:根据所述出现频率、所述条件数量和所述表数量,对所述部分历史任务进行分类,以获得M类任务。在一个可能的实现方式中,所述根据所述出现频率、所述条件数量和所述表数量,对所述部分历史任务进行分类,以获得M类任务包括:根据所述出现频率、所述条件数量、所述表数量以及k最临近KNN分类算法,对所述部分历史任务进行分类,以获得M类任务。在一个可能的实现方式中,所述方法还包括:统计所述M类任务中的每类任务包括的任务数量;所述从所述M类任务中的每类任务中选取至少一个任务,以获得测试任务包括:根据所述任务数量从所述M类任务中的每类任务中选取至少一个任务,以获得测试任务。在一个可能的实现方式中,所述方法还包括:获取所述测试任务中每个任务所使用表的结构和数据;所述执行所述测试任务包括:根据所述结构和所述数据执行所述测试任务。本专利技术实施例第二方面提供了一种性能测试装置,包括:第一选取单元,用于从SQL执行的历史任务中选取部分历史任务;分类单元,用于对所述第一选取单元选取的部分历史任务进行分类,以获得M类任务,所述M类任务中的每类任务均包括至少一个任务,所述M为大于或等于2的整数;第二选取单元,用于从所述分类单元分类的M类任务中的每类任务中选取至少一个任务,以获得测试任务;执行单元,用于执行所述第二选取单元获得的测试任务。在一个可能的实现方式中,所述第一选取单元包括:获取子单元,用于获取SQL执行的全部历史任务;统计子单元,用于统计第一任务中每个词的出现频率,所述第一任务为所述获取子单元获取的全部历史任务中的任一任务;选取子单元,用于根据所述统计子单元统计的出现频率从所述全部历史任务中选取部分历史任务。在一个可能的实现方式中,所述装置还包括:确定单元,用于根据词法和语法确定第二任务中关键词的出现频率、所述第二任务中的条件数量和所述第二任务所使用的表数量,所述第二任务是所述第一选取单元选取的部分历史任务中的任一任务;所述分类单元,具体用于根据所述确定单元确定的出现频率、所述条件数量和所述表数量,对所述部分历史任务进行分类,以获得M类任务。在一个可能的实现方式中,所述分类单元根据所述出现频率、所述条件数量和所述表数量,对所述部分历史任务进行分类,以获得M类任务包括:根据所述出现频率、所述条件数量、所述表数量以及KNN分类算法,对所述部分历史任务进行分类,以获得M类任务。在一个可能的实现方式中,所述装置还包括:统计单元,用于统计所述分类单元分类的M类任务中的每类任务包括的任务数量;所述第二选取单元,具体用于根据所述任务数量从所述M类任务中的每类任务中选取至少一个任务,以获得测试任务。在一个可能的实现方式中,所述装置还包括:获取单元,用于获取所述第二选取单元获得的测试任务中每个任务所使用表的结构和数据;所述执行单元,具体用于根据所述获取单元获取的结构和所述数据执行所述测试任务。本专利技术实施例第三方面提供了一种性能测试装置,包括:处理器和存储器;所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行本专利技术实施例第一方面中的方法。本专利技术实施例第四方面提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行本专利技术实施例第一方面中的方法。本专利技术实施例中,从言SQL执行的历史任务中选取部分历史任务;对选取的部分历史任务进行分类,以获得M类任务;从M类任务中的每类任务中选取至少一个任务,以获得测试任务;执行测试任务;由于不同种类的SQL历史任务涵盖了SQL任务中各个方面具有代表性的任务,因此,通过不同种类的SQL历史任务,可以对SparkSQL分布式系统的性能进行全面测试;此外,由于测试采用的SQL任务是SQL的历史任务,即真实的SQL任务,而不是通过虚拟得到的SQL任务,因此,可以提高SparkSQL分布式系统性能测试的准确性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。图1是本专利技术实施例提供的一种性能测试方法的流程示意图;图2是本专利技术实施例提供的另一种性能测试方法的流程示意图;图3是本专利技术实施例提供的一种性能测试装置的结构示意图;图4是本专利技术实施例提供的另一种性能测试装置的结构示意图;图5是本专利技术实施例提供的又一种性能测试装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。还应当理解,在此本专利技术说明书中所使用的术语是出于描述特定实施例的目的而并不意在限制本专利技术。如本文档来自技高网...

【技术保护点】
1.一种性能测试方法,其特征在于,包括:从结构化查询语言SQL执行的历史任务中选取部分历史任务;对所述部分历史任务进行分类,以获得M类任务,所述M类任务中的每类任务均包括至少一个任务,所述M为大于或等于2的整数;从所述M类任务中的每类任务中选取至少一个任务,以获得测试任务;执行所述测试任务。

【技术特征摘要】
1.一种性能测试方法,其特征在于,包括:从结构化查询语言SQL执行的历史任务中选取部分历史任务;对所述部分历史任务进行分类,以获得M类任务,所述M类任务中的每类任务均包括至少一个任务,所述M为大于或等于2的整数;从所述M类任务中的每类任务中选取至少一个任务,以获得测试任务;执行所述测试任务。2.根据权利要求1所述的方法,其特征在于,所述从SQL的历史任务中选取部分任务包括:获取SQL执行的全部历史任务;统计第一任务中每个词的出现频率,所述第一任务为所述全部历史任务中的任一任务;根据所述出现频率从所述全部历史任务中选取部分历史任务。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据词法和语法确定第二任务中关键词的出现频率、所述第二任务中的条件数量和所述第二任务所使用的表数量,所述第二任务是所述部分历史任务中的任一任务;所述对所述部分历史任务进行分类,以获得M类任务包括:根据所述出现频率、所述条件数量和所述表数量,对所述部分历史任务进行分类,以获得M类任务。4.根据权利要求3所述的方法,其特征在于,所述根据所述出现频率、所述条件数量和所述表数量,对所述部分历史任务进行分类,以获得M类任务包括:根据所述出现频率、所述条件数量、所述表数量以及k最临近KNN分类算法,对所述部分历史任务进行分类,以获得M类任务。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:统计所述M类任务中的每类任务包括的任务数量;所述从所述M类任务中的每类任务中选取至少一个任务,以获得测试任务包括:根...

【专利技术属性】
技术研发人员:马文韬王德宝
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1