CN112162891B - 服务器集群中的性能测试方法及相关设备 - Google Patents
服务器集群中的性能测试方法及相关设备 Download PDFInfo
- Publication number
- CN112162891B CN112162891B CN202011101823.5A CN202011101823A CN112162891B CN 112162891 B CN112162891 B CN 112162891B CN 202011101823 A CN202011101823 A CN 202011101823A CN 112162891 B CN112162891 B CN 112162891B
- Authority
- CN
- China
- Prior art keywords
- load
- server
- test
- servers
- target application
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000011056 performance test Methods 0.000 title description 11
- 238000012360 testing method Methods 0.000 claims abstract description 226
- 230000008569 process Effects 0.000 claims abstract description 27
- 230000006870 function Effects 0.000 claims description 58
- 230000015654 memory Effects 0.000 claims description 43
- 230000006978 adaptation Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 10
- 230000003044 adaptive effect Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 7
- 238000006467 substitution reaction Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000013142 basic testing Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
- G06F11/2242—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors in multi-processor systems, e.g. one processor becoming the test master
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及云计算技术领域,具体提供了一种服务器集群中的性能测试方法及相关设备,所述服务器集群包括至少两台服务器,该方法包括:按照预设的负载参数在指定基础配置相同的至少两台测试服务器上分别进行负载场景配置;将承载目标应用的容器分别部署到每一测试服务器上;在目标应用在所述负载场景下各测试服务器上运行的过程中,采集各测试服务器的负载数据;根据各测试服务器对应的负载数据,对所述至少两台测试服务器在所述负载场景下针对所述目标应用的性能进行比较,得到第一比较结果。本申请实现了测试不同服务器针对同一目标服务的性能。
Description
技术领域
本申请涉及云计算技术领域,具体而言,涉及一种服务器集群中的性能测试方法及相关设备。
背景技术
随着云技术的成熟,越来越多的服务提供上将应用部署在云平台中。其中,云平台部署了服务器集群,该服务器集群中包括若干服务器,该云平台可以用于为不同的应用提供服务。而云平台中所部署的各服务器由于硬件配置和软件配置等方面的差异,不同服务器的性能存在差异。
而不同的应用对于服务器的需求也不相同,例如部分应用对服务器的CPU(Central Processing Unit,中央处理器)需要高,而部分应用对于服务器的内存要求较高。因此,为了保证所部署应用与服务器的适配性,有必要对服务器集群中各服务器的性能进行测试。相关技术中并无有效的方法对服务器集群中的服务器进行性能测试的方法。
发明内容
本申请的实施例提供了一种服务器集群中的性能测试方法及相关设备,以实现对服务器集群中的服务器进行性能测试。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种服务器集群中的性能测试方法,所述服务器集群包括至少两台服务器,包括:
按照预设的负载参数在指定基础配置相同的至少两台测试服务器上分别进行负载场景配置;
将承载目标应用的容器分别部署到每一测试服务器上;
在目标应用在所述负载场景下各测试服务器上运行的过程中,采集各测试服务器的负载数据;
根据各测试服务器对应的负载数据,对所述至少两台测试服务器在所述负载场景下针对所述目标应用的性能进行比较,得到第一比较结果。
根据本申请实施例的一个方面,提供了一种服务器集群中的性能测试装置,所述服务器集群包括至少两台服务器,所述装置包括:
负载场景配置模块,用于按照预设的负载参数在指定基础配置相同的至少两台测试服务器上分别进行负载场景配置;
容器部署模块,用于将承载目标应用的容器分别部署到每一测试服务器上;
负载数据采集模块,用于在目标应用在所述负载场景下各测试服务器上运行的过程中,采集各测试服务器的负载数据;
第一比较模块,用于根据各测试服务器对应的负载数据,对所述至少两台测试服务器在所述负载场景下针对所述目标应用的性能进行比较,得到第一比较结果。
根据本申请实施例的一个方面,提供了一种电子设备,包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如所述的方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被处理器执行时,实现如上所述的方法。
在本申请的方案中,对于指定基础配置相同的至少两个测试服务器,先根据负载参数在每个测试服务器构建相同的负载场景,将目标服务以容器的形式部署在各个测试服务器上,然后,在目标应用在所述负载场景下各测试服务器上运行的过程中采集各测试服务器的负载数据,进而根据所采集得到的负载数据来对测试服务器在所述负载场景下针对所述目标应用的性能进行比较,由此实现了测试不同服务器针对同一目标服务的服务性能。所的得到的第一对比结果可作为在服务器集群中为目标服务选择所要部署的服务器提供参考,使得所进行的服务部署更具有针对性和保证服务器与所要部署服务之间的适配性。
而且,在本方案中,对各个测试服务器的指定基础配置和负载场景进行了约束,从而避免因各测试服务器中指定基础配置的差异或者负载情况的差异影响性能的比较结果,保证了所得到第一比较结果的准确性和有效性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图;
图2是根据本申请一实施例示出的服务器集群中的性能测试方法的流程图;
图3是根据本申请一实施例示出的步骤230之后步骤的流程图;
图4是根据本申请一实施例示出的步骤240的流程图;
图5是根据本申请另一实施例示出的服务器集群中的性能测试方法的流程图;
图6是图2对应实施例的步骤210在一实施例中的流程图;
图7是根据本申请一实施例示出的服务器集群中的性能测试方法的流程图;
图8是根据一实施例示出的服务器集群中的性能测试装置的框图;
图9示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
在云平台中,部署了服务器集群,该服务器集群中包括若干服务器,该云平台可以用于为不同的应用提供服务。而云平台中所部署的各服务器由于硬件配置和软件配置等方面的差异,使得不同服务器的性能存在差异。相关技术中并无有效的方法对服务器集群中的服务器进行性能测试比对,以作为在服务器中部署应用的参考。
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
如图1所示,系统架构可以包括外部设备110和服务器集群120,外部设备110与服务器集群120之间通过有线或者无线网络进行通信,外部设备110可以是平板电脑、笔记本电脑、台式电脑等,在此不进行具体限定。服务器集群包括至少两台服务器。
用户可以通过外部设备110对服务器集群中的测试服务器进行配置,所进行的配置例如进行负载场景配置等。进一步的,外部设备还可以用于接收从测试服务器上所采集的负载数据,并基于所采集到的负载数据对各测试服务器的性能进行比较,得到对应的比较结果。
服务器集群中的服务器121可以均作为本申请中的测试服务器,也可以仅部分服务器121作为测试服务器,在此不进行具体限定。在服务器集群中,由于各服务器的配置不同,例如所配置的CPU(Central Processing Unit,中央处理器)不同,CPU中所提供的基础计算能力也不同,则可能导致不同的服务器的性能上存在差异。而通过本申请的方法可以将目标应用部署在不同的测试服务器上,从而,得到每一服务器针对目标应用的性能数据,进行对每一服务器针对目标应用的性能数据进行比较,得到对应的第一比较结果。
在一实施例中,该第一比较结果可以用于作为目标应用在服务器集群中的部署参考,也就是说,基于第一比较结果,可以确定目标应用在服务器集群中的适配服务器,然后将目标应用部署在适配服务器上。可以理解的是,该适配服务器可以提供适合目标应用运行的软硬件条件,从而保证目标应用在所对应的适配服务器上稳定运行,而且可以避免出现因将目标应用部署在非适配服务器上所导致目标应用运行异常的情况。
应该理解,图1中的外部设备110和服务器集群120中服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的外部设备110和服务器。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
图2是根据本申请的一个实施例示出的服务器集群中的性能测试方法的流程图,服务器集群包括至少两台服务器,该方法可以由具备计算能力的设备执行,例如1中的外部设备。参照图2所示,该服务器集群中的性能测试方法至少包括步骤210至步骤240,详细介绍如下。
步骤210,按照预设的负载参数在指定基础配置相同的至少两台测试服务器上分别进行负载场景配置。
测试服务器是指服务器集群中基础配置为指定基础配置的服务器。可以理解的是,可以将服务器集群中的全部服务器均作为测试服务器,也可以仅将部分服务器作为测试服务器。
其中,指定基础配置可以根据实际需要进行指定。在本申请的一些实施例中,指定基础配置可以是操作系统的版本和类型、CPU核心的数量、内存大小等中的至少一种,在其他实施例中,指定基础配置还可以是网络类型、GPU参数等,在此不进行具体限定。
负载参数用于在测试服务器上构建负载场景。在本申请的一些实施例中,负载参数可以是服务器负载,服务器负载是对当前CPU工作量的度量,被定义为特定时间间隔内运行队列中的线程数。
在本申请的一些实施中,一负载参数对应一负载场景,也就是说,若负载参数不同,则表明是不同的负载场景。在其他实施例中,还可以是一负载参数范围对应于一负载场景。具体可根据实际需要进行设定,在此不进行具体限定。
在申请的一些实施例中,由于不同服务器中所部署CPU的差异,例如CPU的核心数量、缓存等参数、操作系统的不同,导致服务器可承载的最大负载存在差异。因此,对于可承载负载较大的服务器,可以通过进行负载的消耗的方式来进行负载场景构建。所进行的负载消耗例如在服务器上部署进行CPU请求、内存请求的代码,在代码的运行过程中由于持续地进行CPU请求或者内存请求,则所请求的CPU或内存一直被占用而未被释放,从而可以保证服务器中可提供给目标应用的负载保持在一稳定范围内而不存在富余。
通过进行负载场景配置来保证各测试服务处于相同的负载场景,从而,可以避免出现在测试过程中负载场景的差异较大影响测试结果的情况。同理,将测试服务器设定指定基础配置相同,从而可以避免因服务器的指定基础配置不同影响测试结果。总结来说,通过设定至少两个测试服务器的指定基础配置相同,且负载场景相同,减少了可能影响性能测试结果的因素,一定程度上保证了性能测试的有效性和准确性。
步骤220,将承载目标应用的容器分别部署到每一测试服务器上。
容器是一种轻量级的虚拟机,是一种在操作系统层次上的资源的虚拟化,用于隔离进程等资源。将目标应用以容器的方式部署在服务器上,可以实现测试服务器中资源之间的隔离,可以平衡服务器中有冲突的资源使用需求。因此,以容器的形式将目标应用部署在测试服务器上,可以避免测试服务器中所运行的其他程序影响目标应用在测试服务器上的运行过程。在一具体实施例中,该容器可以是docker容器。
步骤230,在目标应用在负载场景下各测试服务器上运行的过程中,采集各测试服务器的负载数据。
在本申请的一些实施例中,可以通过性能分析工具来采集测试服务器的负载数据。性能分析工具可以是perf工具(其可以采集负载、进程、CPU、内存和交换分区等信息)、vmstat工具(其可以采集操作系统的内存信息、CPU使用状态、进程信息等)等,具体可根据实际需要进行选用。
在本申请的一些实施例中,需要结合测试服务器中的操作系统来进行性能分析工具的选用,以保证所选用的性能分析工具可以在对应的操作系统中运行。例如上述perf工具、vmstat工具均可以在Linux系统中运行,则,若待测服务器中安装的操作系统是Linux系统,则可以选用上述的perf工具或者vmstat工具进行负载数据采集。
所采集到的负载数据可以反映目标应用在测试服务器上运行过程中运行数据,运行数据例如进程切换次数、CPU利用率、内存总量、内存已用量、内存占用率、Cache命中次数、Cache命中率、查看热点函数、运行耗时、服务超时率等。
Cache即高速缓冲寄存器(Cache Memory),Cache是一种特殊的存储器,它由Cache存储部件和Cache控制部件组成。Cache存储部件一般采用与CPU同类型的半导体存储器件,存取速度比内存快几倍甚至十几倍。而Cache控制器部件包括主存地址寄存器、Cache地址寄存器,主存-Cache地址变换部件及替换控制部件等。
CPU运行程序是逐条指令地执行的,而且指令地址往往是连续的,也就是说CPU在访问内存时,在较短的一段时间内往往集中于某个局部,这时候可能会碰到一些需要反复调用的子程序。计算机在工作时,把这些活跃的子程序存入比内存快得多的Cache中。CPU在访问内存时,首先判断所要访问的内容是否在Cache中,如果在,就称为“命中”,此时CPU直接从Cache中调用该内容;否则,就称为“不命中”,CPU只好去内存中调用所需的子程序或指令了。CPU不但可以直接从Cache中读出内容,也可以直接往其中写入内容。由于Cache的存取速率相当快,使得CPU的利用率大大提高,进而使整个系统的性能得以提升。
评价Cache性能关键的指标是Cache命中率和Cache命中次数。因为Cache的容量远远小于内存,它只可能存放内存的一部分数据。CPU自然是先访问Cache,再访问主存,如果数据在Cache中为命中,在不在内存中为不命中。如果是相同核心的CPU,Cache的容量越大,CPU的运算性能就会越好,因此,通过Cache的相关参数(例如Cache命中次数、Cache命中率)可以直接反映测试服务器中CPU的性能。
通过所采集到各测试服务器的负载数据,可以通过该负载数据来反映目标应用在各测试服务器上的运行情况,以及在目标应用的运行期间,各测试服务器的性能。
步骤240,根据各测试服务器对应的负载数据,对至少两台测试服务器在负载场景下针对目标应用的性能进行比较,得到第一比较结果。
可以理解的是,测试服务器的性能是通过性能参数来体现的,性能参数例如上文所列举的进程切换次数、CPU利用率、内存总量、内存已用量、内存占用率、cache命中次数、Cache命中率、运行耗时、服务超时率等。因此,所进行的性能的比较,实际上是将所采集的到的各性能参数进行比较。
在本申请的一实施例中,所进行的比较,可以是按照某一性能参数的大小,例如CPU占用率、Cache命中率等,对各测试服务器进行排序,将所得到的排序结果作为该至少两台测试服务器在负载场景下针对目标应用的第一比对结果。
在本申请的一实施例中,所进行的比较,还可以是将至少两种性能参数进行加权,然后按照性能参数的加权结果对各测试服务器进行排序,并对应将所得到的排序结果作为该至少两台测试服务器在负载场景下针对目标应用的第一比对结果。
在本申请的一实施例中,所进行的比较,还可以是针对每一性能参数,计算所测得该性能参数值与基准值的差值,或者该性能参数值相对于基准值的差值百分率等,将所得到包含每一性能参数相对于所对应的基准值的差值或者差值百分率的结果作为第一比对结果。
通过所的得到的第一比对结果,可以准确明了地体现各服务器针对目标应用的性能的差异点,例如在哪些性能参数上的差异较大,哪些性能参数上的差异较小。
在本申请的一些实施例中,步骤240之后,该方法还包括:根据第一比较结果确定目标应用在服务器集群中的适配服务器。
目标应用对应的适配服务器是指服务器集群中适合运行目标应用的测试服务器。可以理解的是,目标应用对应的适配服务器需要满在目标应用在该适配服务器中的运行过程中,运行状态稳定,且该适配服务器的性能无异常。
在本申请的一些实施例中,可以基于步骤240中所得到多个测试服务器排序情况的第一对比结果,将排序满足设定条件的测试服务器作为目标应用对应的适配服务器,例如,若第一对比结果中是按照性能由高到低排序,则可以将排序位于设置数量的测试服务器作为目标应用对应的适配服务器。可以理解的是,所确定的适配服务器可以是一个也可以是多个。
在本申请的一些实施例中,还可直接基于负载数据中的性能参数来确定目标应用对应的适配服务器,即将在该负载场景下,负载数据中性能参数满足性能参数条件的测试服务器作为该目标应用对应的适配服务器。
基于为目标应用所确定的适配服务器,可以作为在服务器集群中为目标应用部署服务器的参照。具体的,在服务器集群中,将目标服务部署在对该目标服务表现良好的服务器中,即目标服务对应的适配服务器中,而不是把目标服务部署在对目标服务表现差的服务器中,从而,一方面可以保证目标服务在所对应的服务器中稳定运行,另一方面,也保证了服务器资源的合理利用。
在用于对外提供服务的云平台中,基于容灾和提供差异化服务的考虑,一般设置了多种类型的服务器,同时不同架构的CPU所能提供的基础计算库也不太一样,那么对应的,该多种类型的服务器针对目标应用的性能表现也具有较大差异。
在此种应用场景下,根据为目标应用所确定的适配服务器来确定部署目标应用的服务器具有极大的参考价值,例如将云平台中与目标服务对应的适配服务器的机型相同的服务器作为部署该目标应用的服务器,又例如将云平台中配置信息与所对应适配服务器的配置信息的相似度大于相似度阈值的服务器作为部署该目标应用的服务器,实现了快速选择适合部署目标服务的服务器且可以保证该目标服务在服务器中的稳定运行。
在本申请的方案中,对于指定基础配置相同的至少两个测试服务器,先根据负载参数在每个测试服务器构建相同的负载场景,将目标服务以容器的形式部署在各个测试服务器上,然后,在目标应用在负载场景下各测试服务器上运行的过程中采集各测试服务器的负载数据,进而根据所采集得到的负载数据来对测试服务器在负载场景下针对目标应用的性能进行比较,由此实现了测试不同服务器针对同一目标服务的性能,从而为在服务器集群中为目标服务选择所要部署的服务器提供参考,使得所进行的服务部署更具有针对性和保证服务器与所要部署服务之间的适配性。而且,在本方案中,对各个测试服务器的指定基础配置和负载场景进行了约束,从而避免因各测试服务器中指定基础配置的差异或者负载情况的差异影响性能的比较结果,保证了所得到第一比较结果的准确性和有效性。
在本申请的一些实施例中,由于同类型的应用在针对服务器的性能要求上具有共性,因此,可以在各测试服务器上分别部署归属于同一类型的多个应用,进而,根据各测试服务器针对该同一类型下每一应用所采集到的负载数据,来统计分析各测试服务器对于该类型应用的性能差异,进而还可以确定该类型应用对应的适配服务器。
在本申请的一些实施例中,应用的类型包括CPU密集型、内存密集型和IO密集型。其中,CPU密集型指的是系统的硬盘、内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU负载100%。IO密集型指的是系统的CPU性能相对硬盘、内存要好很多,此时,系统运作,大部分的状况是CPU在等I/O(硬盘/内存)的读/写操作,而CPU负载并不高。内存密集型指的是对运行环境的物理内存要求严格,在物理内存不足时,将引发大量磁盘IO,降低系统性能。由上可以看出,上述三种类型的应用对于服务器的性能的要求不一样,因此,可以针对上述的每一类型的应用针对性地定性测试各服务器对各个类型应用的性能。
在本申请的一些实施例中,如图3所示,步骤230之后,该方法还包括:
步骤310,获取在至少两个负载场景下针对目标应用分别采集到各测试服务器的负载数据。
可以理解的是,在不同负载场景下,测试服务器所提供给目标应用的运行环境存在差异,对应的,在不同负载场景下在同一测试服务器上目标应用的运行情况也对应存在差异,该差异可以通过所采集到的负载数据来体现,该差异即反映了负载参数对测试服务器的影响。
步骤320,根据目标应用对应于至少两个负载场景下的负载数据,对测试服务器在至少两个负载场景下的性能进行比较,得到第二比较结果。
同第一比较结果,该第二比较结果可以按照负载数据中的某一性能参数对负载场景进行排序得到,还可以按照负载数据中的多个性能参数的加权和对负载场景进行排序得到。
可以理解的是,该第二比较结果表征了负载场景对于测试服务器的影响。在本申请的一些实施例中,可以根据该第二比较结果确定各测试服务器针对目标应用的适配负载场景。从而,在云平台中为目标应用确定服务器后,可以参考该目标应用对应的适配负载场景来确定服务器的负载参数。
在本申请的一些实施例中,负载数据包括中央处理器CPU占用率;步骤230之后,该方法还包括:根据各测试服务器在负载场景下针对目标应用的负载数据,计算在负载场景下任意两个测试服务器之间的CPU置换比。
CPU置换比是指对于两不同性能的CPU,以其中一CPU为基准,计算另一CPU的性能相对于作为基准的CPU的比值。
具体的,对于测试服务器而言,CPU的性能可以通过CPU占用率或者CPU负载等参数来近似表征,因此,可以根据CPU占用率或者负载来计算CPU置换比。从而,测试服务器A相对于测试服务器B的CPU置换比为:
α≈F(A)/F(B); (1)
其中,α为测试服务器A相对于测试服务器B的CPU置换比,F(A)为测试服务器A对应的CPU性能参数值;F(B)为测试服务器B对应的CPU性能参数值。可以理解的是,若是按照CPU占用率来计算CPU置换比,则测试服务器A和测试服务器B均用CPU占用率来表征CPU的性能;同理,若是按负载来计算CPU置换比,则测试服务器A和测试服务器B均用负载来表征CPU的性能。
例如在相同条件下(例如针对同一目标服务且处于相同的负载场景)A服务器的负载为50%,B服务器的负载为60%,则按照上式(1)可以计算测试服务器A相对于测试服务器B的CPU置换比为:α≈F(A)/F(B)=50%/60%=0.83,则相当于:0.83核的测试服务器A可以折算1核的测试服务器B。
在本申请的一些实施例中,由于单次测量可能存在误差,因此为了减小误差,可以综合测试多次的结果来计算CPU置换比。在相同条件下,多次测量测量服务器A的CPU性能参数值和测量服务器B的CPU性能参数值,按照如下的公式计算测试服务器A相对于测试服务器B的CPU置换比:
α≈Sum(F(A))/Sum(F(B)); (2)
其中,Sum(F(A))为相同条件下测量服务器A的多个CPU性能参数值的和;Sum(F(B))为相同条件下测量服务器B的多个CPU性能参数值的和。
在本实施例中,由于计算了两CPU之间的CPU置换比,便于直观地比较两个服务器之间的性能差异,便于进行大型应用平台的统一管理。例如在云平台中,选定一服务器作为基准服务器,在计算CPU置换比的时候,均以该基准服务器为基准,从而,可以通过所得到的CPU置换比来直观反映任一服务器相对于基准服务器的服务性能。
进一步的,在某些情况下,若一服务器对于某一应用的服务性能不能满足要求,而该应用只能部署在该服务器上时,则可以基于所得到的CPU置换比,通过置换的方式,在该服务器分配更多的资源,而所确定需要分配的资源可以基于该服务器与该应用所对应适配服务器之间的CPU置换比来确定,以使得向该服务分配更多的资源后,该服务器相对于适配服务器的CPU置换比接近1。
在本申请的一些实施例中,负载数据包括目标应用中每一函数的运行数据;第一比较结果包括热点函数性能比较结果;在本实施例中,如图4所示,步骤240,包括:
步骤410,从目标应用中每一函数的运行数据中提取每一函数在各测试服务器上的运行参数,运行参数包括CPU占用率或运行耗时。
目标应用所实现的功能是通过其中的多个函数的综合作用来实现的。在本实施例中,从函数的粒度来对测试服务器的性能进行分析。
步骤420,将在各测试服务器上运行参数超过参数阈值的函数确定为目标应用中的热点函数。
其中,该参数阈值可根据实际需要进行设定。可以理解的是,若运行参数为CPU占用率,则该参数阈值是针对CPU占用率设定的阈值;同理,若运行参数为运行耗时,则该参数阈值时针对运行耗时设定的阈值。
步骤430,根据每一热点函数各测试服务器中的运行数据,对至少两台测试服务器针对热点函数的性能进行比较,得到热点函数性能比较结果。
通过上述步骤430可以进一步确定热点函数在不同测试服务上的性能差异。
在本申请的一些实施例中,在步骤420中,确定目标应用中的热点函数后,将所确定的热点函数输出,从而便于用户知晓目标应用中具体包括哪些热点函数。进一步的,还便于在实际中对热点函数的运行情况进行重点监控。
在本申请的一些实施例中,在得到热点函数性能比较结果后,将该热点函数性能比较结果进行输出,便于用户查阅和对热点函数进行监控。
在本申请的一些实施例中,若通过perf工具来采集测试服务器的负载数据,可以通过perf工具中的perf record命令记录目标应用的负载数据,其中包括目标应用中每一函数的运行参数,然后通过perf report命令输出针对目标服务所统计到各函数的运行参数,由此可以确定目标应用中哪些函数CPU占用多或耗时较高,进而对应将CPU占用率超过占用率阈值,或者运行耗时超过时间阈值的函数确定热点函数。其中,还可以进一步利用perf diff命令比较不同测试服务器上产生的负载数据,比较相同目标服务在不同测试服务器上热点函数的性能,并输出比较结果。
在本申请的一些实施例中,指定基础配置包括操作系统和所运行核心的数量,如图5所示,步骤210之前,该方法还包括:
步骤510,从服务器集群中选取安装相同版本操作系统的服务器。由此保证各测试服务器中所安装的操作系统相同,避免因操作系统的差异影响所得到的第一对比结果。
步骤520,对所选取服务器的核心进行关闭控制,以使所选取各服务器上所运行核心的数量相同;所选取服务器中运行核心数量相同的服务器作为指定基础配置相同的测试服务器。
多台测试服务器,可能存在各台测试服务器中CPU的核心数量不一致,为了准确比较各台测试服务器之间的性能差异,避免因核心数量不同影响测试结果,在本实施例中将各测试服务器中的核心数量调整为一致。
实际中,一般是调整核心数量较多的测试服务器,以使其中运行的核心数量与其他核心数量较少的服务器中运行的核心数量相同。相对于与核心数量较少的测试服务器而言,在核心数量较多的测试服务器中存在富余的核心,则通过控制关闭核心数量较多的测试服务器中富余的核心来保证其中运行的核心数量与核心数量较少的测试服务器相同,可以有效避免核心数量对性能测试结果的影响。
在本申请的一些实施例中,若测试服务器中安装的是Linux系统,则可以通过修改Linux参数的方式来关闭部分核心,使各测试服务器的核心数量一致。具体的,关闭核心的命令如下:echo 0>/sys/devices/system/cpu/cpuN/online,其中,cpuN中的N表示表示第N个核心,在CPU中,核心是从0开始进行排序的,例如,例如64核的取值范围为0~63。
在本申请的一些实施例中,负载参数包括服务器负载,如图6所示,步骤210,包括:
步骤610,根据预设的服务器负载和测试服务器的允许负载,确定每台测试服务器对应的附加负载。
其中,测试服务器的允许负载是指测试服务器的CPU所允许承载的额定负载。所预设的服务器负载是预留的供承载目标应用的容器。测试服务器对应的附加负载等于测试服务器的允许负载与预设的服务器负载之差。
步骤620,根据附加负载在所对应的测试服务器上部署特定容器,特定容器在所在测试服务器中运行时所提供的负载等于测试服务器对应的附加负载。
通过所部署的特定容器来将测试服务器上的附加负载占用,使得测试服务器上为部署目标应用所预留的负载。
举例来说,若测试服务器对应的附加负载是对应4个2核心的CPU,则可以通过特定容器来占满该测试服务器上部分CPU的核心,若整机是12个核心,则可以使用2个分配2个核心的特定容器来占用指定的4个CPU。
在本实施例中,通过额外部署特定容器并在测试服务器上运行,从而保证各测试服务器中的内存场景相同。
下面结合一具体实施例对本申请的方案进行进一步说明。
图7是根据本申请一实施例示出的服务器集群中的性能测试方法的流程图。如图7所示,该方法包括:
步骤710,选取多台服务器。
为了保持测试环境的统一,这里各台服务器统一安装相同版本的Linux操作系统,便于测试。
步骤720,构造相同的基础测试环境。
在本实施例中,通过保证各服务器的CPU中运行的核心数量一致来保证各服务器的基础测试环境一致。可以采用修改Linux参数的方式来关闭部分核心,使各服务器中运行的核心数量相等。具体可采用上文中所列举关闭核心的命令:echo 0>/sys/devices/system/cpu/cpuN/online来关闭对应的核心,其中,cpuN中的N表示表示第N个核心。
步骤730,构造负载场景。
在本实施例中,通过服务器负载来使各服务器预留给承载目标服务的容器的负载是相同的。具体的,对于允许承载负载较大的服务器,可以通过在其上部署特定容器,让特定容器在该服务器上运行,使该特定容器运行过程中在该服务器上占用部分富余负载。例如若整机是12个核心,则可以使用2个分配2个核心的特定容器来占用指定的4个CPU。
步骤740,将承载目标服务的容器部署至各服务器中。具体的,可以通过容器平台中提供的服务接口,将承载目标服务的容器部署至各服务器中。
步骤750,采集各服务器的负载数据。
在本实施例中,使用Linux自带perf工具中的top命令,定时采集目标服务和服务器的实时负载,采集的时间可以根据需要设定,例如总共采集24h,然后计算目标服务和各服务器的平均CPU利用率;同时定时使用Linux perf工具采集其他相关数据:perf工具中的perf record命令记录指定服务的过程数据,使用perf report命令输出统计的结果。进而,通过所输出的结果可以看出目标服务中哪些函数占用CPU或耗时较高,进一步的,利用perfdiff比较不同目标服务产生的过程数据,比较相同服务在不同服务器上热点函数的性能,并输出至文件记录。
步骤760,比较负载数据。
通过比较各服务器对应的负载数据,可以确定各服务器针对目标应用的性能高低。例如在服务器在0%负载的负载场景时,A服务器上的服务CPU负载为50%,B服务器上的服务CPU负载为60%,同时在B服务器上某个函数占用CPU明显高于A服务器上,此时可以判定针对目标服务,B服务器的性能差于A服务器。
步骤770,输出服务器的性能对比结果,输出CPU置换比。
在本实施例中,可以按照上述的公式(1)或(2)来计算任意两服务器之间的CPU置换比。当然,为了保证所计算得到CPU置换比的准确性,可以综合多次的结果来按照上述公式(2)来计算CPU置换比。
在本实施例中,由于主要关注服务器中CPU的性能,因此在本实施例中可以输出CPU置换比,还可以输出热点函数。在其他实施例中,若关注服务器中内存的影响,还可以针对内存确定置换比。同理,如果,针对IO、网络、GPU测试,还可以计算针对IO性能的置换比,针对网络质量的置换比、针对GPU测试的置换比等,在此不进行具体限定。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的方法。对于本申请装置实施例中未披露的细节,请参照本申请上述方法实施例。
图8是根据一实施例示出的服务器集群中的性能测试装置的框图,服务器集群中包括至少两台服务器,如图8所示,该服务器集群中的性能测试装置包括:
负载场景配置模块810,用于按照预设的负载参数在指定基础配置相同的至少两台测试服务器上分别进行负载场景配置。
容器部署模块820,用于将承载目标应用的容器分别部署到每一测试服务器上。
负载数据采集模块830,用于在目标应用在负载场景下各测试服务器上运行的过程中,采集各测试服务器的负载数据。
第一比较模块840,用于根据各测试服务器对应的负载数据,对至少两台测试服务器在负载场景下针对目标应用的性能进行比较,得到第一比较结果。
在本申请的一些实施例中,该服务器集群中的性能测试装置还包括:负载数据获取模块,用于获取在至少两个负载场景下针对目标应用分别采集到各测试服务器的负载数据;第二比较模块,用于根据目标应用对应于至少两个负载场景下的负载数据,对测试服务器在至少两个负载场景下的性能进行比较,得到第二比较结果。
在本申请的一些实施例中,负载数据包括中央处理器CPU占用率;该服务器集群中的性能测试装置还包括:CPU置换比确定模块,用于根据各测试服务器在负载场景下针对目标应用的负载数据,计算在负载场景下任意两个测试服务器之间的CPU置换比。
在本申请的一些实施例中,负载数据包括目标应用中每一函数的运行数据;第一比较结果包括热点函数性能比较结果;第一比较模块840,包括:提取单元,用于从目标应用中每一函数的运行数据中提取每一函数在各测试服务器上的运行参数,运行参数包括CPU占用率或运行耗时;热点函数确定单元,用于将在各测试服务器上运行参数超过参数阈值的函数确定为目标应用中的热点函数;比较单元,用于根据每一热点函数各测试服务器中的运行数据,对至少两台测试服务器针对热点函数的性能进行比较,得到热点函数性能比较结果。
在本申请的一些实施例中,该服务器集群中的性能测试装置还包括:适配服务器确定模块,用于根据第一比较结果确定目标应用在服务器集群中的适配服务器。
在本申请的一些实施例中,指定基础配置包括操作系统和所运行核心的数量,该服务器集群中的性能测试装置还包括:选取模块,用于从服务器集群中选取安装相同版本操作系统的服务器;关闭控制模块,用于对所选取服务器的核心进行关闭控制,以使所选取各服务器上所运行核心的数量相同;所选取服务器中运行核心数量相同的服务器作为指定基础配置相同的测试服务器。
在本申请的一些实施例中,负载参数包括服务器负载,负载场景配置模块810包括:附加负载确定单元,用于根据预设的服务器负载和测试服务器的允许负载,确定每台测试服务器对应的附加负载;特定容器部署单元,用于根据附加负载在所对应的测试服务器上部署特定容器,特定容器在所在测试服务器中运行时所提供的负载等于测试服务器对应的附加负载。
图9示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图9示出的电子设备的计算机系统900仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(Central Processing Unit,CPU)901,其可以根据存储在只读存储器(Read-Only Memory,ROM)902中的程序或者从存储部分908加载到随机访问存储器(Random Access Memory,RAM)903中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM 903中,还存储有系统操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(Input/Output,I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载计算机可读指令,当该计算机可读存储指令被处理器执行时,实现上述实施例中的方法。
根据本申请的一个方面,还提供了一种电子设备,其包括:处理器;存储器,存储器上存储有计算机可读指令,计算机可读指令被处理器执行时,实现上述实施例中的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (10)
1.一种服务器集群中的性能测试方法,所述服务器集群包括至少两台服务器,其特征在于,包括:
按照预设的负载参数在指定基础配置相同的至少两台测试服务器上分别进行负载场景配置;
将承载目标应用的容器分别部署到每一测试服务器上;
在目标应用在所述负载场景下各测试服务器上运行的过程中,采集各测试服务器的负载数据,所述负载数据用于反映所述目标应用在所述测试服务器上运行过程中的运行数据;
根据各测试服务器对应的负载数据,对所述至少两台测试服务器在所述负载场景下针对所述目标应用的性能进行比较,得到第一比较结果,所述第一比较结果用于确定所述目标应用在所述服务器集群中的适配服务器。
2.根据权利要求1所述的方法,其特征在于,所述在目标应用在所述负载场景下各测试服务器上运行的过程中,采集各测试服务器的负载数据之后,所述方法还包括:
获取在至少两个负载场景下针对所述目标应用分别采集到各测试服务器的负载数据;
根据所述目标应用对应于至少两个负载场景下的负载数据,对所述测试服务器在至少两个负载场景下的性能进行比较,得到第二比较结果,所述第二比较结果用于确定各测试服务器针对所述目标应用的适配负载场景。
3.根据权利要求1或2所述的方法,其特征在于,所述负载数据包括中央处理器CPU占用率;所述在目标应用在所述负载场景下各测试服务器上运行的过程中,采集各测试服务器的负载数据之后,所述方法还包括:
根据各测试服务器在所述负载场景下针对所述目标应用的负载数据,计算在所述负载场景下任意两个测试服务器之间的CPU置换比。
4.根据权利要求1或2所述的方法,其特征在于,所述负载数据包括所述目标应用中每一函数的运行数据;所述第一比较结果包括热点函数性能比较结果;
所述根据各测试服务器对应的负载数据,对所述至少两台测试服务器在所述负载场景下针对所述目标应用的性能进行比较,得到第一比较结果,包括:
从所述目标应用中每一函数的运行数据中提取每一函数在各测试服务器上的运行参数,所述运行参数包括CPU占用率或运行耗时;
将在各测试服务器上运行参数超过参数阈值的函数确定为所述目标应用中的热点函数;
根据每一热点函数各测试服务器中的运行数据,对所述至少两台测试服务器针对所述热点函数的性能进行比较,得到所述热点函数性能比较结果。
5.根据权利要求1或2所述的方法,其特征在于,所述根据各测试服务器对应的负载数据,对所述至少两台测试服务器在所述负载场景下针对所述目标应用的性能进行比较,得到第一比较结果之后,所述方法还包括:
根据所述第一比较结果确定所述目标应用在所述服务器集群中的适配服务器。
6.根据权利要求1或2所述的方法,其特征在于,所述指定基础配置包括操作系统和所运行核心的数量,所述按照预设的负载参数在指定基础配置相同的至少两台测试服务器上分别进行负载场景配置之前,所述方法还包括:
从所述服务器集群中选取安装相同版本操作系统的服务器;
对所选取服务器的核心进行关闭控制,以使所选取各服务器上所运行核心的数量相同;所选取服务器中运行核心数量相同的服务器作为所述指定基础配置相同的测试服务器。
7.根据权利要求1或2所述的方法,其特征在于,所述负载参数包括服务器负载,所述按照预设的负载参数在指定基础配置相同的至少两台测试服务器上分别进行负载场景配置,包括:
根据预设的服务器负载和所述测试服务器的允许负载,确定每台测试服务器对应的附加负载;
根据所述附加负载在所对应的测试服务器上部署特定容器,所述特定容器在所在测试服务器中运行时所提供的负载等于所述测试服务器对应的附加负载。
8.一种服务器集群中的性能测试装置,所述服务器集群包括至少两台服务器,其特征在于,所述装置包括:
负载场景配置模块,用于按照预设的负载参数在指定基础配置相同的至少两台测试服务器上分别进行负载场景配置;
容器部署模块,用于将承载目标应用的容器分别部署到每一测试服务器上;
负载数据采集模块,用于在目标应用在所述负载场景下各测试服务器上运行的过程中,采集各测试服务器的负载数据,所述负载数据用于反映所述目标应用在所述测试服务器上运行过程中的运行数据;
第一比较模块,用于根据各测试服务器对应的负载数据,对所述至少两台测试服务器在所述负载场景下针对所述目标应用的性能进行比较,得到第一比较结果,所述第一比较结果用于确定所述目标应用在所述服务器集群中的适配服务器。
9.一种电子设备,其特征在于,包括:
处理器;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机可读指令,其特征在于,当所述计算机可读指令被处理器执行时,实现如权利要求1至7中的任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011101823.5A CN112162891B (zh) | 2020-10-14 | 2020-10-14 | 服务器集群中的性能测试方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011101823.5A CN112162891B (zh) | 2020-10-14 | 2020-10-14 | 服务器集群中的性能测试方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112162891A CN112162891A (zh) | 2021-01-01 |
CN112162891B true CN112162891B (zh) | 2024-05-03 |
Family
ID=73867123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011101823.5A Active CN112162891B (zh) | 2020-10-14 | 2020-10-14 | 服务器集群中的性能测试方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112162891B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190425B (zh) * | 2021-04-28 | 2023-09-22 | 北京京东振世信息技术有限公司 | 一种资源切换方法和装置 |
CN113609027A (zh) * | 2021-08-31 | 2021-11-05 | 北京百度网讯科技有限公司 | 一种arm云服务器的测试方法、装置、电子设备和存储介质 |
CN116405412B (zh) * | 2023-02-24 | 2024-05-03 | 中电金信数字科技集团有限公司 | 基于混沌工程故障模拟服务端集群有效性验证方法和系统 |
CN116126737B (zh) * | 2023-04-11 | 2023-09-26 | 阿里云计算有限公司 | 容器测试方法以及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104333488A (zh) * | 2014-11-04 | 2015-02-04 | 哈尔滨工业大学 | 云服务平台性能测试方法 |
CN104461856A (zh) * | 2013-09-22 | 2015-03-25 | 阿里巴巴集团控股有限公司 | 基于云计算平台的性能测试方法、装置及系统 |
WO2016198762A1 (fr) * | 2015-06-09 | 2016-12-15 | Orange | Procédé et système de détermination d'une configuration de serveurs cible pour un déploiement d'une application logicielle |
CN106293931A (zh) * | 2015-06-23 | 2017-01-04 | 北京神州泰岳软件股份有限公司 | 一种分配服务器资源的方法和装置 |
CN106649060A (zh) * | 2015-11-02 | 2017-05-10 | 中国移动通信集团公司 | 设备性能测试方法及装置 |
CN108234246A (zh) * | 2018-01-22 | 2018-06-29 | 郑州云海信息技术有限公司 | 一种多向测试服务器网络性能的方法及系统 |
US10467132B1 (en) * | 2017-05-16 | 2019-11-05 | Intuit, Inc. | Variability system and analytics for continuous reliability in cloud-based workflows |
CN111580934A (zh) * | 2020-05-13 | 2020-08-25 | 杭州电子科技大学 | 云计算环境下多租户虚拟机性能一致的资源分配方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8782215B2 (en) * | 2011-05-31 | 2014-07-15 | Red Hat, Inc. | Performance testing in a cloud environment |
US11263111B2 (en) * | 2019-02-11 | 2022-03-01 | Microstrategy Incorporated | Validating software functionality |
-
2020
- 2020-10-14 CN CN202011101823.5A patent/CN112162891B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461856A (zh) * | 2013-09-22 | 2015-03-25 | 阿里巴巴集团控股有限公司 | 基于云计算平台的性能测试方法、装置及系统 |
CN104333488A (zh) * | 2014-11-04 | 2015-02-04 | 哈尔滨工业大学 | 云服务平台性能测试方法 |
WO2016198762A1 (fr) * | 2015-06-09 | 2016-12-15 | Orange | Procédé et système de détermination d'une configuration de serveurs cible pour un déploiement d'une application logicielle |
CN106293931A (zh) * | 2015-06-23 | 2017-01-04 | 北京神州泰岳软件股份有限公司 | 一种分配服务器资源的方法和装置 |
CN106649060A (zh) * | 2015-11-02 | 2017-05-10 | 中国移动通信集团公司 | 设备性能测试方法及装置 |
US10467132B1 (en) * | 2017-05-16 | 2019-11-05 | Intuit, Inc. | Variability system and analytics for continuous reliability in cloud-based workflows |
CN108234246A (zh) * | 2018-01-22 | 2018-06-29 | 郑州云海信息技术有限公司 | 一种多向测试服务器网络性能的方法及系统 |
CN111580934A (zh) * | 2020-05-13 | 2020-08-25 | 杭州电子科技大学 | 云计算环境下多租户虚拟机性能一致的资源分配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112162891A (zh) | 2021-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112162891B (zh) | 服务器集群中的性能测试方法及相关设备 | |
CN108632330B (zh) | 云端资源的管理系统及其管理方法 | |
US10819603B2 (en) | Performance evaluation method, apparatus for performance evaluation, and non-transitory computer-readable storage medium for storing program | |
US20190245756A1 (en) | Performance adjustment method, apparatus for peformance adjustment, and non-transitory computer-readable storage medium for storing program | |
CN105630683B (zh) | 一种云测试体系架构 | |
US9438529B1 (en) | Computing process analysis by metrics profiling | |
CN111381928A (zh) | 一种虚拟机迁移方法、云计算管理平台和存储介质 | |
CN112181664A (zh) | 负载均衡方法及装置、计算机可读存储介质及电子设备 | |
CN111431741A (zh) | 服务上线方法、系统、计算机设备及存储介质 | |
US10754547B2 (en) | Apparatus for managing disaggregated memory and method thereof | |
US20160034012A1 (en) | Dynamic Power Budgeting in a Chassis | |
CN112860532B (zh) | 性能测试方法、装置、设备及介质、程序产品 | |
CN102004674A (zh) | 用于基于策略的适应性程序配置的系统及方法 | |
US9021499B2 (en) | Moving a logical device between processor modules in response to identifying a varying load pattern | |
CN111831389A (zh) | 一种数据处理方法、装置以及存储介质 | |
CN115658287A (zh) | 一种用于调度运行单元的方法、设备、介质及程序产品 | |
US11960939B2 (en) | Management computer, management system, and recording medium | |
CN113676377B (zh) | 基于大数据的在线用户数评估方法、装置、设备及介质 | |
CN116048766A (zh) | 用于无服务器应用的基于轨迹的分层自动缩放 | |
CN116795520A (zh) | 资源调度方法、装置、电子设备和存储介质 | |
Petrovska et al. | Sequential Series-Based Prediction Model in Adaptive Cloud Resource Allocation for Data Processing and Security | |
CN110457280A (zh) | 一种hdfs副本再复制改进策略 | |
US11438408B2 (en) | Transferring applications from overutilized arrays of computer systems to underutilized arrays of computer systems | |
US11916807B2 (en) | Evaluation framework for cloud resource optimization | |
KR102427473B1 (ko) | 마이크로 데이터센터내 가용 자원상태 기반 워크로드 예측 정확도 증가 방법 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |