CN113688057A - 一种计算设备性能测试方法、系统、计算设备及存储介质 - Google Patents
一种计算设备性能测试方法、系统、计算设备及存储介质 Download PDFInfo
- Publication number
- CN113688057A CN113688057A CN202111224993.7A CN202111224993A CN113688057A CN 113688057 A CN113688057 A CN 113688057A CN 202111224993 A CN202111224993 A CN 202111224993A CN 113688057 A CN113688057 A CN 113688057A
- Authority
- CN
- China
- Prior art keywords
- test
- task
- data
- control server
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 458
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000009434 installation Methods 0.000 claims abstract description 65
- 238000011156 evaluation Methods 0.000 claims abstract description 11
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 abstract description 22
- 238000011056 performance test Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000007723 transport mechanism Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000013585 weight reducing agent Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种计算设备性能测试方法,适于在计算设备测试系统中执行,方法包括步骤:任务服务器创建测试任务,将测试任务发送到控制服务器;控制服务器根据测试任务构建测试安装包,将测试安装包发送到与控制服务器通信连接的多个计算设备;计算设备安装接收到的测试安装包,执行测试安装包中的测试任务得到测试数据,将测试数据发送至控制服务器;控制服务器接收每个计算设备发送的测试数据,得到多项测试数据,根据多项测试数据绘制测试数据表,将测试数据表发送至任务服务器;任务服务器根据测试数据表对每个计算设备进行性能评价。本发明还一并公开了一种计算设备性能测试系统、计算设备及存储介质。
Description
技术领域
本发明涉及云计算领域,特别涉及一种服务器性能测试方法、系统、计算设备及存储介质。
背景技术
随着计算机技术的发展,为了进一步提高计算机设备及系统的可靠性,需要对计算机及系统进行测试。而现有的测试方法效率较低,需要测试人员在每天机器上进行独立测试,测试完毕后再调取测试数据进行分析。这种方式较为耗费时间,并且不同机器的测试时间和环境不同,不同的测试结果无法进行归纳统计,无法形成统一的测试标准,不便于对计算机设备及系统进行全面客观的评价。
为此,需要一种新的计算设备性能测试方法。
发明内容
为此,本发明提供一种计算设备性能测试方法,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种计算设备性能测试方法,适于在计算设备测试系统中执行,计算设备测试系统包括控制服务器,与控制服务器通信连接的任务服务器和多个计算设备,方法包括步骤:任务服务器创建测试任务,将测试任务发送到控制服务器;控制服务器根据测试任务构建测试安装包,将测试安装包发送到多个计算设备;计算设备安装接收到的测试安装包,执行测试安装包中的测试任务得到测试数据,将测试数据发送至控制服务器;控制服务器接收每个计算设备发送的测试数据,得到多项测试数据,根据多项测试数据绘制测试数据表,将测试数据表发送至任务服务器;任务服务器根据测试数据表对每个计算设备进行性能评价。
可选地,在根据本发明的方法中,还包括步骤:控制服务器创建监听进程,根据监听进程监听来自任务服务器的测试指令;任务服务器生成测试指令,并将测试指令发送至控制服务器;当控制服务器监听到来自任务服务器的测试指令时,将测试指令发送到与控制服务器连接的多个计算设备,以便计算设备根据测试指令执行测试任务。
可选地,在根据本发明的方法中,测试任务包括多个测试项目,测试指令包括要测试的测试项目,安装接受到的测试安装包,执行测试安装包中的测试任务得到测试数据包括步骤:当接收到来自控制服务器的测试指令时,从测试任务中选择执行测试指令所指定的测试项目,得到测试数据。
可选地,在根据本发明的方法中,测试指令还包括测试次数,从测试任务中选择执行测试指令所指定的测试项目,得到测试数据包括步骤:按照测试次数执行测试任务中的测试项目,得到项目数据集,项目数据集包括与测试次数相同数目的项目数据;根据项目数据集和测试次数计算得到测试数据。
可选地,在根据本发明的方法中,项目数据包括峰值和谷值,根据项目数据集和测试次数计算得到测试数据包括步骤:将项目数据集中的项目数据进行排序;根据排序后的项目数据集和测试次数计算峰值得分,谷值得分和平均值得分;将峰值得分,谷值得分和平均值得分作为测试数据。
可选地,在根据本发明的方法中,根据多项测试数据绘制测试数据表包括步骤:根据测试数据的峰值得分,谷值得分和平均值得分,以及每项测试数据所属的计算设备的名称绘制测试数据表的数据行,得到包括多个数据行的测试数据表。
可选地,在根据本发明的方法中,将测试数据发送至控制服务器包括步骤:将测试数据进行序列化操作得到序列化数据;将序列化数据发送至控制服务器。
可选地,在根据本发明的方法中,控制服务器接收每个计算设备发送的测试数据包括步骤:控制服务器接收计算设备发送的序列化数据;将序列化数据进行反序列化操作得到测试数据。
可选地,在根据本发明的方法中,计算设备测试系统还包括与控制服务器通信连接的数据服务器,方法还包括步骤:控制服务器将接收到的多项测试数据发送至数据服务器;数据服务器存储接收到的多项测试数据,以便任务服务器查询测试数据。
根据本发明的另一个方面,提供一种计算设备性能测试方法,适于在控制服务器中执行,控制服务器与任务服务器和多个计算设备通信连接,方法包括步骤:接收任务服务器创建的测试任务,根据测试任务构建测试安装包;将测试安装包发送到多个计算设备,以便计算设备安装接收到的测试安装包,执行测试安装包中的测试任务得到测试数据;接收每个计算设备发送的测试数据,得到多项测试数据;根据多项测试数据绘制测试数据表,将测试数据表发送至任务服务器,以便任务服务器根据测试数据表对每个计算设备进行性能评价。
可选地,在根据本发明的方法中,还包括步骤:创建监听进程,根据监听进程监听来自任务服务器的测试指令;当监听到来自任务服务器的测试指令时,将接收到的测试指令发送到与控制服务器连接的多个计算设备,以便计算设备根据测试指令执行测试任务。
可选地,在根据本发明的方法中,控制服务器还与数据服务器通信连接,方法还包括步骤:将接收到的多项测试数据发送至数据服务器,在数据服务器进行存储,以便任务服务器查询所存储的测试数据。
根据本发明的又一个方面,提供一种计算设备测试系统,系统包括控制服务器,与控制服务器通信连接的任务服务器和多个计算设备,其中,任务服务器适于创建测试任务,将测试任务发送到控制服务器;控制服务器适于根据测试任务构建测试安装包,将测试安装包发送到多个计算设备;计算设备适于安装接收到的测试安装包,执行测试安装包中的测试任务得到测试数据,将测试数据发送至控制服务器;控制服务器还适于接收每个计算设备发送的测试数据,得到多项测试数据,根据多项测试数据绘制测试数据表,将测试数据表发送至任务服务器;任务服务器还适于根据测试数据表对每个计算设备进行性能评价。
可选地,在根据本发明的系统中,控制服务器还适于创建监听进程,根据监听进程监听来自任务服务器的测试指令;任务服务器还适于生成测试指令,并将测试指令发送至控制服务器;控制服务器还适于当监听到来自任务服务器的测试指令时,将测试指令发送到与控制服务器连接的多个计算设备,以便计算设备根据测试指令执行测试任务。
可选地,在根据本发明的系统中,测试指令还包括测试次数,计算设备进一步适于:按照测试次数执行测试任务中的测试项目,得到项目数据集,项目数据集包括与测试次数相同数目的项目数据;根据项目数据集和测试次数计算得到测试数据。
可选地,在根据本发明的系统中,项目数据包括峰值和谷值,计算设备进一步适于:将项目数据集中的项目数据进行排序;根据排序后的项目数据集和测试次数计算峰值得分,谷值得分和平均值得分;将峰值得分,谷值得分和平均值得分作为测试数据。
可选地,在根据本发明的系统中,控制服务器进一步适于:根据测试数据的峰值得分,谷值得分和平均值得分,以及每项测试数据所属的计算设备的名称绘制测试数据表的数据行,得到包括多个数据行的测试数据表。
可选地,在根据本发明的系统中,系统还包括与控制服务器通信连接的数据服务器,控制服务器还适于将接收到的多项测试数据发送至数据服务器;数据服务器适于存储接收到的多项测试数据,以便任务服务器查询测试数据。
根据本发明的再一个方面,提供了一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据本发明的一种服务器集群部署方法。
根据本发明的还有一个方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,该指令当由计算设备执行时,使得计算设备执行根据本发明的一种服务器集群部署方法。
本发明中的一种计算设备性能测试方法,适于在计算设备测试系统中执行,计算设备测试系统包括控制服务器,与控制服务器通信连接的任务服务器和多个计算设备。在任务服务器创建测试任务后,控制服务器根据测试任务构建测试安装包,并将测试安装包分发到所有要进行测试的计算设备,每个计算设备安装测试安装包,在同一环境下执行测试安装包中的测试任务。每个计算设备还将执行测试任务的测试数据发送到控制服务器,控制服务器收集所有计算设备的测试数据,根据测试数据绘制测试数据表,以便任务服务器根据测试数据表对每个计算设备进行性能评价。本发明的提高了对服务器的测试效率,并且所有要测试的服务器在同一环境下执行相同的测试任务,便于根据统一的测试标准对服务器的性能进行评价。同时自动收集所有计算设备的测试数据,降低测试数据收集难度,进一步提高测试效率。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本发明公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本发明公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个示范性实施例的计算设备测试系统的示意图;
图2示出了根据本发明一个示范性实施例的计算设备200的结构框图;以及
图3示出了根据本发明一个示范性实施例的计算设备性能测试方法300的流程示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个示范性实施例的计算设备测试系统的示意图。如图1所示,计算设备测试系统包括控制服务器140,与控制服务器140通信连接的任务服务器150、数据服务器160和计算设备110-130。图1中计算设备110-130与控制服务器140连接的方式仅为示例性的,本发明对控制服务器140所连接的计算设备数量不做限制,控制服务器140可连接几百台或上千台的计算设备,实现对大批量的计算设备同时进行测试,提高测试效率。
任务服务器150创建测试任务,将测试任务发送到控制服务器140,以便控制服务器140根据测试任务生成测试安装包。同时还生成测试命令,并将测试指令发送至控制服务器140。测试指令指示安装测试安装包的计算设备110-130,执行测试任务中的测试项目进行测试,生成测试数据。
控制服务器140接收任务服务器150发送的测试任务和测试命令,根据测试任务生成测试安装包。控制服务器140还将测试安装包下发到所连接的计算设备110-130,并将测试命令转发到计算设备110-130,同时接收每个计算设备返回的测试数据,得到多项测试数据,进一步的根据多项测试数据绘制测试数据表,以便任务服务器150根据测试数据表对每个计算设备进行性能评价。
根据本发明的一个实施例,控制服务器140可设置多台备份服务器(图中未示出),控制服务器140与多台备份服务器通信连接。当控制服务器140出现故障时,控制服务器140及时将与多台计算设备110-130的通信连接转移到备份服务器,由备份服务器充当控制服务器,接收任务服务器150的测试任务和测试命令,制作测试安装包,以及将测试安装包下发到计算设备110-130,转发测试命令。备份服务器还接收每台计算设备的测试数据,得到多项测试数据,根据多项测试数据绘制测试数据表,以便任务服务器150根据测试数据表对每个计算设备进行性能评价。
计算设备110-130接收测试安装包,根据接收到的测试安装包,安装测试安装包;接收测试命令,根据测试命令执行测试安装包中的测试任务得到测试数据,将测试数据回传到控制服务器140。
图1中的控制服务器140,与控制服务器140通信连接的任务服务器150、数据服务器160和计算设备110-130均可以实现为如图2所示的计算设备。图2示出了根据本发明一个示范性实施例的计算设备200的结构框图。如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(µP)、微控制器(µC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器206可以包括操作系统220、一个或者多个程序222以及程序数据228。在一些实施方式中,程序222可以布置为在操作系统上由一个或者多个处理器204利用程序数据228执行根据本发明的方法300的指令223。
计算设备200还可以包括储存接口总线234。储存接口总线234实现了从储存设备232(例如,可移除储存器236和不可移除储存器238)经由总线/接口控制器230到基本配置202的通信。操作系统220、程序222以及数据224的至少一部分可以存储在可移除储存器236和/或不可移除储存器238上,并且在计算设备200上电或者要执行程序222时,经由储存接口总线234而加载到系统存储器206中,并由一个或者多个处理器204来执行。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外围接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为以便经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的计算设备200中,程序222包括指令执行方法300的多条程序指令,这些程序指令可以指示处理器204执行本发明的计算设备200中运行的计算设备性能测试方法300中的部分步骤,以便计算设备200中的各部分通过执行本发明的计算设备性能测试方法300来实现对服务器性能进行测试。
计算设备200可以实现为服务器,例如文件服务器240、数据库250、服务器、应用程序服务器等,这些电子设备可以是诸如个人数字助理(PDA)、无线网络浏览设备、应用专用设备、或者可以包括上面任何功能的混合设备。可以实现为包括桌面计算机和笔记本计算机配置的个人计算机,也在一些实施例中,计算设备200被配置为执行计算设备性能测试方法300。
图3示出了根据本发明一个示范性实施例的计算设备性能测试方法300的流程示意图。本发明中的计算设备性能测试方法300适于在计算设备测试系统中执行,并进一步的适于在如图1所示的计算设备测试系统中执行中计算设备测试系统包括控制服务器140,与控制服务器140通信连接的任务服务器150和多个计算设备110-130。
如图3所示,计算设备性能测试方法300始于步骤S310,任务服务器150创建测试任务,将测试任务发送到控制服务器140。测试任务包括多个测试项目,任务服务器150构建每个测试项目的配置文件,将所要测试的多个测试项目各自的配置文件组合作为测试任务。
随后,执行步骤S320,控制服务器140根据测试任务构建测试安装包,将测试安装包发送到多个计算设备110-130。控制服务器140根据测试任务构建测试安装包时,将序列化结构协议封装到测试安装包。控制服务器140还建立关于计算设备110-130的服务器列表,将所有与控制服务器140通信连接的计算设备110-130均写入服务器列表,根据服务器列表向所有连接的计算设备110-130发送测试安装包。控制服务器140向计算设备110-130发送测试安装包时,还向计算设备110-130发送安装指令,指示计算设备110-130安装所接收到的测试安装包。
随后,执行步骤S330,计算设备110-130安装接收到的测试安装包,执行测试安装包中的测试任务得到测试数据,将测试数据发送至控制服务器140。
根据本发明的一个实施例,计算设备110-130根据接收到的测试安装包,安装测试安装包前,先构建测试安装包的安装目录。控制服务器140在接收到控制服务器140发送的安装指令后,在安装目录下安装测试安装包。控制服务器140接收到测试安装包后,根据测试安装包中的序列化协议与控制服务器140进行通信。
根据本发明的一个实施例,任务服务器150生成测试指令,并将测试指令发送至控制服务器140。测试指令包括测试项目和测试次数,指示计算设备110-130要执行的测试项目和相应的执行次数。控制服务器140创建监听进程,根据监听进程监听来自任务服务器150的测试指令。任务服务器150每次要指示计算设备110-130执行测试项目时,均生成测试指令发送到控制服务器140,由控制服务器140对测试指令向计算设备110-130进行分发。
控制服务器140在监听到来自任务服务器150的测试指令时,将测试指令发送到与控制服务器140连接的多个计算设备110-130,以便计算设备110-130根据测试指令执行测试任务。计算设备110-130当接收到来自控制服务器140的测试指令时,从测试任务中选择执行测试指令所指定的测试项目,得到测试数据。
根据本发明的一个实施例,控制服务器140将测试指令发送到计算设备110-130时,根据序列化协议将测试指令进行序列化操作得到序列化指令,从而将测试指令转化为有序字节流形式的序列化指令,在传递测试指令时保证测试指令的完整性和可传递性,更方便和更快速的传输测试指令,随后将序列化指令发送到计算设备110-130。计算设备110-130接收来自控制服务器140的测试指令时,将接收到的序列化指令根据序列化协议进行反序列操作,得到测试指令,从而根据字节流中保存的测试指令状态及描述信息,通过反序列化重建测试指令。上述步骤中,将测试指令序列化是指将测试指令转换为有序字节流形式的序列化指令,将序列化指令反序列化是指将有序字节流形式的序列化指令重建为测试指令。
计算设备110-130执行测试项目时,按照测试次数执行测试任务中的测试项目,得到项目数据集。项目数据集包括与测试次数相同数目的项目数据,根据项目数据集和测试次数计算得到测试数据。计算设备110-130执行一次测试项目得到一份项目数据,执行测试项目其测试次数对应的次数,得到项目数据集。
根据本发明的一个实施例,计算设备110-130在每次执行测试项目时,通过popen方式执行测试项目,调用popen()函数创建一个管道,调用fork()函数产生一个子进程,通过该子进程执行该测试项目。本发明对测试项目的种类不作限制。
根据本发明的一个实施例,计算设备110-130的测试项目为对计算机部件进行压力测试,计算机部件包括但不限于硬盘,CPU,网卡,显卡和内存。计算设备110-130执行压力测试时,采集每秒资源占用比,并每60秒保存该60秒内的最高值和最低值,直到执行完毕整个测试项目。随后根据执行测试项目的时间内每60秒内的最高值和最低值绘制折线图。根据折现图确定执行整个测试项目中每秒资源占用比的全程最高值和全程最低值。随后,将全程最高值和全程最低值作为项目数据。重复执行测试项目得到包括多个项目数据的项目数据集。
根据项目数据集和测试次数计算得到测试数据时,将项目数据集中的项目数据进行排序。具体的可将全程最高值和全程最低值的和作为排序依据,从高到低将项目数据集中的项目数据进行排序。
随后根据排序后的项目数据集和测试次数计算峰值得分,谷值得分和平均值得分。本发明对计算峰值得分,谷值得分和平均值得分的方式不做限制。根据本发明的一个实施例,计算峰值得分时,选取排序后的项目数据集,全程最高值和全程最低值的和最高的前三分之一的项目数据,抽取其全程最高值计算平均值得出峰值得分。相应的选取全程最高值和全程最低值的和最低的后三分之一的项目数据,抽取其全程最低值计算平均值得出谷值得分。并选取全程最高值和全程最低值的和处于中间部位的三分之一的项目数据,先根据每个项目数据的全程最低值和全程最高值计算得到每个项目数据的平均值,再根据中间部位的三分之一的项目数据的每个项目数据的平均值,根据下式计算得出平均值得分:
其中score是平均值得分,x1、x2……xn是中间部位的三分之一的项目数据的每个项目数据的平均值,N是中间部位的三分之一的项目数据的个数,Dim是降权系数,取值(0,1],默认为0.9。
随后将峰值得分,谷值得分和平均值得分作为测试数据,并将测试数据发送到控制服务器140。由计算设备110-130自行对执行测试任务采集到的数据进行分析,得到测试数据,再将测试数据传输给控制服务器140,减少网络传输数据量,能够提高整个系统的测试效率。
随后执行步骤S340,控制服务器140接收每个计算设备发送的测试数据,得到多项测试数据,根据多项测试数据绘制测试数据表,将测试数据表发送至任务服务器150。
根据本发明的一个实施例,计算设备110-130将测试数据发送到控制服务器140时,根据序列化协议将测试数据进行序列化操作得到序列化数据,从而将测试数据转化为有序字节流形式的序列化数据,在传递测试指令时保证测试数据的完整性和可传递性,更方便和更快速的传输测试数据,随后将序列化数据发送到控制服务器140。控制服务器140接收每个计算设备110-130发送的测试数据时,接收计算设备110-130发送的序列化数据。将接收到的序列化数据根据序列化协议进行反序列操作,得到测试数据,从而根据字节流中保存的测试数据状态及描述信息,通过反序列化重建测试数据。上述步骤中,将测试数据进行序列化是指将测试数据转换为有序字节流形式的序列化数据,将序列化数据进行反序列化是指将有序字节流形式的序列化数据重建为测试数据。
控制服务器140根据多项测试数据绘制测试数据表时,根据测试数据的峰值得分,谷值得分和平均值得分,以及每项测试数据所属的计算设备的名称绘制测试数据表的数据行,得到包括多个数据行的测试数据表。
最后,执行步骤S350,任务服务器150根据测试数据表对每个计算设备进行性能评价。任务服务器150接收到测试数据表后,可以根据测试数据表的数据行,对数据行相应的计算设备进行性能评价。具体的,在性能评价过程中,可根据数据行中的峰值得分,谷值得分和平均值得分是否达到设置的阈值,判断计算设备110-130的性能的优劣。控制服务器140将所有计算设备110-130的测试数据进行汇总和绘制测试数据表,方便对每个计算设备进行性能评价,节省测试人员逐台到主机上收取测试数据的步骤,提高了对大量服务器进行性能测试的效率。
根据本发明的一个实施例,控制服务器140将接收到的多项测试数据发送至数据服务器160,数据服务器160存储接收到的多项测试数据,以便任务服务器150查询测试数据。任务服务器150可通过控制服务器140,查询数据服务器160中的过往测试数据,以比对同一计算设备不同时间的测试结果,判断该计算设备的性能是否有所提升。本发明对数据服务器160的具体形式不做限制,数据服务器160可实现为sqlite数据库。
本发明中的一种计算设备性能测试方法,适于在计算设备测试系统中执行,计算设备测试系统包括控制服务器,与控制服务器通信连接的任务服务器和多个计算设备。在任务服务器创建测试任务后,控制服务器根据测试任务构建测试安装包,并将测试安装包分发到所有要进行测试的计算设备,每个计算设备安装测试安装包,在同一环境下执行测试安装包中的测试任务。每个计算设备还将执行测试任务的测试数据发送到控制服务器,控制服务器收集所有计算设备的测试数据,根据测试数据绘制测试数据表,以便任务服务根据测试数据表对每个计算设备进行性能评价。本发明的提高了对服务器的测试效率,并且所有要测试的服务器在同一环境下执行相同的测试任务,便于根据统一的测试标准对服务器的性能进行评价。同时自动收集所有计算设备的测试数据,降低测试数据收集难度,进一步提高测试效率。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组间可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组间组合成一个模块或单元或组间,以及此外可以把它们分成多个子模块或子单元或子组间。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的计算设备性能测试方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (10)
1.一种计算设备性能测试方法,适于在计算设备测试系统中执行,所述计算设备测试系统包括控制服务器,与所述控制服务器通信连接的任务服务器和多个计算设备,所述方法包括步骤:
所述任务服务器创建测试任务,将所述测试任务发送到控制服务器;
所述控制服务器根据所述测试任务构建测试安装包,将所述测试安装包发送到多个计算设备;
所述计算设备安装接收到的测试安装包,执行所述测试安装包中的所述测试任务得到测试数据,将所述测试数据发送至所述控制服务器;
所述控制服务器接收每个计算设备发送的测试数据,得到多项测试数据,根据多项测试数据绘制测试数据表,将所述测试数据表发送至所述任务服务器;
所述任务服务器根据所述测试数据表对每个计算设备进行性能评价。
2.如权利要求1所述的方法,其中,所述方法还包括步骤:
所述控制服务器创建监听进程,根据所述监听进程监听来自所述任务服务器的测试指令;
所述任务服务器生成测试指令,并将所述测试指令发送至所述控制服务器;
当所述控制服务器监听到来自所述任务服务器的测试指令时,将所述测试指令发送到与所述控制服务器连接的多个计算设备,以便所述计算设备根据所述测试指令执行所述测试任务。
3.如权利要求2所述的方法,其中,所述测试任务包括多个测试项目,所述测试指令包括要测试的测试项目,所述安装接收到的测试安装包,执行所述测试安装包中的所述测试任务得到测试数据包括步骤:
当接收到来自所述控制服务器的测试指令时,从所述测试任务中选择执行所述测试指令所指定的测试项目,得到测试数据。
4.如权利要求3所述的方法,其中,所述测试指令还包括测试次数,所述从所述测试任务中选择执行所述测试指令所指定的测试项目,得到测试数据包括步骤:
按照测试次数执行所述测试任务中的测试项目,得到项目数据集,所述项目数据集包括与测试次数相同数目的项目数据;
根据所述项目数据集和测试次数计算得到测试数据。
5.如权利要求4所述的方法,其中,所述项目数据包括峰值和谷值,所述根据所述项目数据集和测试次数计算得到测试数据包括步骤:
将所述项目数据集中的项目数据进行排序;
根据排序后的项目数据集和测试次数计算峰值得分,谷值得分和平均值得分;
将所述峰值得分,谷值得分和平均值得分作为测试数据。
6.如权利要求5所述的方法,其中,所述根据多项测试数据绘制测试数据表包括步骤:
根据所述测试数据的峰值得分,谷值得分和平均值得分,以及每项测试数据所属的计算设备的名称绘制测试数据表的数据行,得到包括多个数据行的测试数据表。
7.如权利要求1-6中任一项所述的方法,其中,所述将所述测试数据发送至所述控制服务器包括步骤:
将所述测试数据进行序列化操作得到序列化数据;
将所述序列化数据发送至所述控制服务器。
8.一种计算设备测试系统,所述系统包括控制服务器,与所述控制服务器通信连接的任务服务器和多个计算设备,其中,所述任务服务器适于创建测试任务,将所述测试任务发送到控制服务器;
所述控制服务器适于根据所述测试任务构建测试安装包,将所述测试安装包发送到多个计算设备;
所述计算设备适于安装接收到的测试安装包执行所述测试安装包中的所述测试任务得到测试数据,将所述测试数据发送至所述控制服务器;
所述控制服务器还适于接收每个计算设备发送的测试数据,得到多项测试数据,根据多项测试数据绘制测试数据表,将所述测试数据表发送至所述任务服务器;
所述任务服务器还适于根据所述测试数据表对每个计算设备进行性能评价。
9.一种计算设备,包括:
一个或多个处理器;
存储器;以及
一个或多个装置,所述一个或多个装置包括用于执行根据权利要求1-7中任一项所述的方法的指令。
10.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111224993.7A CN113688057A (zh) | 2021-10-21 | 2021-10-21 | 一种计算设备性能测试方法、系统、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111224993.7A CN113688057A (zh) | 2021-10-21 | 2021-10-21 | 一种计算设备性能测试方法、系统、计算设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113688057A true CN113688057A (zh) | 2021-11-23 |
Family
ID=78587655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111224993.7A Pending CN113688057A (zh) | 2021-10-21 | 2021-10-21 | 一种计算设备性能测试方法、系统、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113688057A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010012986A1 (en) * | 2000-02-04 | 2001-08-09 | Conan Chan Ming Yam Terence | Automated testing of computer system components |
CN103902414A (zh) * | 2012-12-25 | 2014-07-02 | 鸿富锦精密工业(深圳)有限公司 | 网络式测试系统及方法 |
CN104021077A (zh) * | 2014-06-10 | 2014-09-03 | 广州市久邦数码科技有限公司 | 一种移动终端软件测试系统及方法 |
CN105095089A (zh) * | 2015-09-14 | 2015-11-25 | 北京金山安全软件有限公司 | 一种测试应用软件性能的方法及装置 |
CN105302727A (zh) * | 2015-11-17 | 2016-02-03 | 小米科技有限责任公司 | 测试方法、装置及系统 |
CN105607992A (zh) * | 2015-09-29 | 2016-05-25 | 网易(杭州)网络有限公司 | 应用程序测试方法、装置和系统 |
CN107126222A (zh) * | 2017-06-23 | 2017-09-05 | 中国科学院心理研究所 | 一种认知能力测评系统及其测评方法 |
CN109766258A (zh) * | 2018-11-30 | 2019-05-17 | 北京奇艺世纪科技有限公司 | 一种性能测试方法、装置及计算机可读存储介质 |
CN110781085A (zh) * | 2019-10-23 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种游戏自动化测试方法、装置、终端和计算机存储介质 |
-
2021
- 2021-10-21 CN CN202111224993.7A patent/CN113688057A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010012986A1 (en) * | 2000-02-04 | 2001-08-09 | Conan Chan Ming Yam Terence | Automated testing of computer system components |
CN103902414A (zh) * | 2012-12-25 | 2014-07-02 | 鸿富锦精密工业(深圳)有限公司 | 网络式测试系统及方法 |
CN104021077A (zh) * | 2014-06-10 | 2014-09-03 | 广州市久邦数码科技有限公司 | 一种移动终端软件测试系统及方法 |
CN105095089A (zh) * | 2015-09-14 | 2015-11-25 | 北京金山安全软件有限公司 | 一种测试应用软件性能的方法及装置 |
CN105607992A (zh) * | 2015-09-29 | 2016-05-25 | 网易(杭州)网络有限公司 | 应用程序测试方法、装置和系统 |
CN105302727A (zh) * | 2015-11-17 | 2016-02-03 | 小米科技有限责任公司 | 测试方法、装置及系统 |
CN107126222A (zh) * | 2017-06-23 | 2017-09-05 | 中国科学院心理研究所 | 一种认知能力测评系统及其测评方法 |
CN109766258A (zh) * | 2018-11-30 | 2019-05-17 | 北京奇艺世纪科技有限公司 | 一种性能测试方法、装置及计算机可读存储介质 |
CN110781085A (zh) * | 2019-10-23 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种游戏自动化测试方法、装置、终端和计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106970880B (zh) | 一种分布式自动化软件测试方法及系统 | |
CN111897638B (zh) | 分布式任务调度方法及系统 | |
CN110557420B (zh) | 一种独立子链的运行方法及系统 | |
CN107977167B (zh) | 一种基于纠删码的分布式存储系统的退化读优化方法 | |
CN107608893B (zh) | 一种压力测试调度方法、装置、调度服务器及计算设备 | |
CN112306719B (zh) | 一种任务调度方法与装置 | |
CN111563014A (zh) | 接口服务性能测试方法、装置、设备和存储介质 | |
US20130346427A1 (en) | Method and procedure for unassisted data collection, extraction and report generation and distribution | |
CN103941662A (zh) | 一种基于云计算的任务调度系统和调度方法 | |
WO2022007755A1 (zh) | 机器人软件测试方法、设备及存储介质 | |
CN112051771B (zh) | 多云数据采集方法、装置、计算机设备和存储介质 | |
CN113886162A (zh) | 一种计算设备性能测试方法、计算设备及存储介质 | |
CN113918352B (zh) | 一种服务资源配置方法、计算设备及存储介质 | |
CN113704077A (zh) | 测试用例生成方法及装置 | |
CN114519006A (zh) | 测试方法、装置、设备以及存储介质 | |
CN113688057A (zh) | 一种计算设备性能测试方法、系统、计算设备及存储介质 | |
CN115373826B (zh) | 一种基于云计算的任务调度方法及装置 | |
US20180203628A1 (en) | Method, apparatus and computer program product for evaluating data storage systems for energy efficiency | |
US7680921B2 (en) | Management system, management computer, managed computer, management method and program | |
CN109634792A (zh) | 一种基于云计算的服务器硬件测试平台系统 | |
CN102394911B (zh) | 计算机辅助工程一体化云分析系统及方法 | |
CN111209102A (zh) | 一种分布式任务分发方法与系统 | |
CN111666156B (zh) | 一种容器编排方法、装置、设备和存储介质 | |
CN118069374B (zh) | 数据中心智能训练仿真事务加速方法、装置、设备及介质 | |
CN110958144B (zh) | 获取网络的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |