CN110262959B - 底层服务压力测试方法、装置、电子设备及存储介质 - Google Patents

底层服务压力测试方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110262959B
CN110262959B CN201910384182.XA CN201910384182A CN110262959B CN 110262959 B CN110262959 B CN 110262959B CN 201910384182 A CN201910384182 A CN 201910384182A CN 110262959 B CN110262959 B CN 110262959B
Authority
CN
China
Prior art keywords
target
rate per
query rate
interface
server cluster
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
Application number
CN201910384182.XA
Other languages
English (en)
Other versions
CN110262959A (zh
Inventor
李霞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuba Co Ltd
Original Assignee
Wuba Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuba Co Ltd filed Critical Wuba Co Ltd
Priority to CN201910384182.XA priority Critical patent/CN110262959B/zh
Publication of CN110262959A publication Critical patent/CN110262959A/zh
Application granted granted Critical
Publication of CN110262959B publication Critical patent/CN110262959B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

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)
  • Computer And Data Communications (AREA)
  • Measuring Fluid Pressure (AREA)

Abstract

本发明公开了一种底层服务压力测试方法、装置、电子设备及存储介质,在检测到底层服务的配置信息发生变化时,及时计算服务器集群各个接口的目标流量值,根据计算的目标流量值配置服务器集群的各个接口,最后按照配置好的内容,同时对各个接口进行压力测试,获得压力测试结果。本发明的技术方案通过同时对接口进行压力测试,能够在底层服务变化时,获得比较全面的接口信息,避免每次只能针对一个接口进行测试,提高了对底层服务压力测试的准确性。

Description

底层服务压力测试方法、装置、电子设备及存储介质
技术领域
本发明涉及软件开发技术领域,尤其涉及底层服务压力测试方法、装置、电子设备及存储介质。
背景技术
程序的运营活动依赖于底层服务的部署与功能,底层服务的部署与功能包括接口的数量、接口的功能、服务器的数量、服务器的型号和服务器的流量负载等等。在程序的运营活动期间,底层服务只有能够承受运营活动产生的压力,才能保证运营活动的有效运行,避免程序崩溃或者底层服务性能低而导致的功能失效的情况。
为了保证底层服务能够承受运营活动产生的压力,需要对底层服务的性能进行评估。目前,对底层服务性能评估通常是对底层服务的单一接口进行逐个压力测试,结合每个接口的测试情况进而获得整个底层服务的性能情况。而对单一接口进行压力测试,首先需要确定待测接口属于哪一个底层服务,该底层服务是否与正在运行的运营活动相关。如果该底层服务与正在运行的运营活动相关,那么设计人员会针对待测接口给出该接口在运营活动中预期可能达到的当天访问量数据。结合当天访问量数据、历史访问数据和历史QPS(Query Per Second,每秒查询率)进行比例换算,进而获得接口的目标QPS峰值,再结合接口的其他性能指标,对该接口的实施压力测试操作,获得压力测试结果,最后,根据压力测试结果对该接口进行性能评估。每一个底层服务涉及的接口都进行性能评估之后,就会可以对该底层服务整体的性能进行评估,再通过接口性能的调整,调整底层服务的性能。
然而,上述评估底层服务性能的方式,只是针对该底层服务涉及到的单一接口进行压力测试,当真正开始运营活动时,底层服务中除去待测接口的其他接口都会受到运营压力的作用,每次只测试一个接口,难以顾及此时其他接口的情况。因此,通过这种方式完成的底层服务整体性能的评估不够全面,使得评估的结果也不够准确。
发明内容
本发明提供了一种底层服务压力测试方法、装置、电子设备及存储介质,以解决底层服务整体性能的评估不够全面、评估结果不准确的问题。
第一方面,本发明提供了一种底层服务压力测试方法,包括:
检测底层服务的配置信息是否发生变化;
如果底层服务的任一配置信息发生变化,则计算服务器集群各个接口的目标流量值,所述服务器集群是指实现底层服务功能的若干服务器的集合;
参照所述服务器集群各个接口的目标流量值,对应配置服务器集群的各个接口;
对配置好的各个接口同时进行压力测试,获得压力测试结果。
结合第一方面,在第一方面一种可能的实现方式中,所述如果底层服务的任一配置信息发生变化,则计算服务器集群各个接口的目标流量值的步骤包括:
如果底层服务的任一配置信息发生变化,则获取目标每秒查询率,所述目标每秒查询率是指预设的服务器集群的每秒查询率数据;
通过对比所述服务器集群中各个服务器的性能,获取所述目标每秒查询率分配给每个服务器的负载流量值;
通过对比所述服务器上接口的调用比例关系,计算所述服务器的负载流量值分配给每个接口的目标流量值。
结合第一方面,在第一方面一种可能的实现方式中,所述如果底层服务的任一配置信息发生变化,则获取目标每秒查询率的步骤包括:
如果底层服务的任一配置信息发生变化,则获取所述服务器集群的目标日活跃用户数量、历史日活跃用户数量、历史每秒查询率和测试比例参数,所述目标日活跃用户数量是指预设的服务器集群的日活跃用户数量数据,所述历史日活跃用户数量和所述历史每秒查询率是指当前测试的前一次底层服务线上运营时获取的服务器集群的日活跃用户数量数据和每秒查询率数据,所述测试比例参数用于反映当前测试的前一次底层服务线上运营时的历史每秒查询率与历史日活跃用户数量的比例关系;
利用所述目标日活跃用户数量、所述历史日活跃用户数量、所述历史每秒查询率和所述测试比例参数,计算目标每秒查询率。
结合第一方面,在第一方面一种可能的实现方式中,在所述对配置好的各个接口同时进行压力测试,获得压力测试结果之后还包括:
获取所述服务器集群的线上每秒查询率与线上日活跃用户数量,所述线上每秒查询率是指底层服务线上运营时获取的每秒查询率数据,所述线上日活跃用户数量是指底层服务线上运营时获取的日活跃用户数量数据;
利用所述线上每秒查询率与所述线上日活跃用户数量,计算当前比例参数;
将所述测试比例参数修正为所述当前比例参数;
利用所述当前比例参数继续进行下一次的底层服务压力测试。
结合第一方面,在第一方面一种可能的实现方式中,根据以下公式利用所述目标日活跃用户数量、历史日活跃用户数量、历史每秒查询率和测试比例参数,计算目标每秒查询率:
(目标日活跃用户数量/历史日活跃用户数量)*历史每秒查询率*α1=目标每秒查询率,其中,α1为测试比例参数。
结合第一方面,在第一方面一种可能的实现方式中,所述对配置好的各个接口同时进行压力测试,获得压力测试结果之后,还包括:
分析所述压力测试结果,获得服务器各个接口的接口性能;
按照所述接口性能分配所述底层服务的流量。
第二方面,本发明提供了一种底层服务压力测试装置,包括:
信息检测模块,用于检测底层服务的配置信息是否发生变化;
目标流量计算模块,用于如果底层服务的任一配置信息发生变化,则计算服务器集群各个接口的目标流量值,所述服务器集群是指实现底层服务功能的若干服务器的集合;
服务器集群配置模块,用于参照所述服务器集群各个接口的目标流量值,对应配置服务器集群的各个接口;
压力测试模块,用于对配置好的各个接口同时进行压力测试,获得压力测试结果。
结合第二方面,在第二方面一种可能的实现方式中,所述目标流量计算模块,包括:
目标每秒查询率获取单元,用于如果底层服务的任一配置信息发生变化,则获取目标每秒查询率,所述目标每秒查询率是指预设的服务器集群的每秒查询率数据;
负载流量获取单元,用于通过对比所述服务器集群中各个服务器的性能,获取所述目标每秒查询率分配给每个服务器的负载流量值;
流量分配单元,用于通过对比所述服务器上接口的调用比例关系,计算所述服务器的负载流量值分配给每个接口的目标流量值。
结合第二方面,在第二方面一种可能的实现方式中,还包括:
数据获取模块,用于如果底层服务的任一配置信息发生变化,则获取所述服务器集群的目标日活跃用户数量、历史日活跃用户数量、历史每秒查询率和测试比例参数,所述目标日活跃用户数量是指预设的服务器集群的日活跃用户数量数据,所述历史日活跃用户数量和所述历史每秒查询率是指当前测试的前一次底层服务线上运营时获取的服务器集群的日活跃用户数量数据和每秒查询率数据,所述测试比例参数用于反映当前测试的前一次底层服务线上运营时的历史每秒查询率与历史日活跃用户数量的比例关系;
目标每秒查询率计算模块,用于利用所述目标日活跃用户数量、所述历史日活跃用户数量、所述历史每秒查询率和所述测试比例参数,计算目标每秒查询率。
结合第二方面,在第二方面一种可能的实现方式中,还包括:
线上数据获取模块,用于获取所述服务器集群的线上每秒查询率与线上日活跃用户数量,所述线上每秒查询率是指底层服务线上运营时获取的每秒查询率数据,所述线上日活跃用户数量是指底层服务线上运营时获取的日活跃用户数量数据;
当前比例参数计算模块,用于利用所述线上每秒查询率与所述线上日活跃用户数量,计算当前比例参数;
参数修正模块,用于将所述测试比例参数修正为所述当前比例参数;
压力测试模块,还用于利用所述当前比例参数继续进行下一次的底层服务压力测试。
结合第二方面,在第二方面一种可能的实现方式中,所述目标每秒查询率计算模块根据以下公式利用所述目标日活跃用户数量、历史日活跃用户数量、历史每秒查询率和测试比例参数,计算目标每秒查询率:
(目标日活跃用户数量/历史日活跃用户数量)*历史每秒查询率*α1=目标每秒查询率,其中,α1为测试比例参数。
结合第二方面,在第二方面一种可能的实现方式中,还包括:
分析模块,用于分析所述压力测试结果,获得服务器各个接口的接口性能;
分配模块,用于按照所述接口性能分配所述底层服务的流量。
第三方面,本发明提供了一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现第一方面所述的底层服务压力测试方法。
第四方面,本发明还提供了一种存储介质,所述存储介质中存储有计算机程序,当底层服务压力测试装置的至少一个处理器执行所述计算机程序时,底层服务压力测试装置执行第一方面所述的底层服务压力测试方法。
由以上技术方案可知,本发明提供了底层服务压力测试方法、装置、电子设备及存储介质。该方案在检测到底层服务的配置信息发生变化时,及时计算服务器集群各个接口的目标流量值,根据计算的目标流量值配置服务器集群的各个接口,最后按照配置好的内容,同时对各个接口进行压力测试,获得压力测试结果。本发明的技术方案通过同时对接口进行压力测试,能够在底层服务变化时,获得比较全面的接口信息,避免每次只能针对一个接口进行测试,提高了对底层服务压力测试的准确性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的底层服务压力测试方法的流程图;
图2为本发明实施例提供的计算目标流量值的方法流程图;
图3为本发明实施例提供的获取目标每秒查询率的方法流程图;
图4为本发明实施例提供的修正测试比例参数的方法流程图;
图5为本发明实施例提供的分配底层服务流量的方法流程图;
图6为本发明实施例提供的底层服务压力测试装置的结构框图;
图7为本发明实施例提供的电子设备硬件结构示意图。
具体实施方式
目前对于底层服务性能的评估方式,通常是针对于底层服务涉及到的单一接口进行压力测试,当真正进行运营活动时,底层服务中除去待测接口的其他接口都会受到运营压力的作用,每次只测试一个接口,难以顾及此时其他接口的情况。由于这种方式会造成底层服务整体性能评估的结果不够准确的问题,所以,本发明实施例提供了一种底层服务压力测试方法,以提高底层服务性能评估的准确性。
图1为本发明实施例提供的底层服务压力测试方法的流程图。参见图1,本发明实施例提供了一种底层服务压力测试方法,包括以下步骤:
S101,检测底层服务的配置信息是否发生变化。
底层服务器的配置信息主要包括:主体服务、主体服务接口功能、服务部署和流量负载等。本发明实施例中需要对配置信息进行检测,判断配置信息是否发生了变化,具体的,需要判断主体服务是否变更、主体服务接口功能是否变更、服务部署情况是否变更以及流量负载情况是否变更。
主体服务变更的情况主要包括:主体服务拆解变换成多个服务,或者是主体服务整体进行了重构。
通常主体服务下具体存在多少个接口、各个接口提供的功能是什么,都需要确定的。主体服务接口功能变更的情况包括主体服务下接口提供的功能是否发生变化。
服务部署情况具体是指哪一项服务是部署在哪一个服务器集群上,该集群又有多少个服务器,以及,每一个服务器的型号、内存和核数等。服务部署情况的变更主要是指服务器集群或者集群内服务器的变更。
流量负载情况是指每一个服务器上承受流量的情况。主体服务的运行会需要大量流量,对于支持主体服务运行的服务器来说,每一个服务器会承受不同的流量,如果某台机器本身性能差一些,可能承受的流量会少一些。流量负载情况是否变更主要是指各个服务器的承受的流量是否变更。
对于上述各种配置信息,本发明实施例中需要定期检测,比如,1星期、3个月或者半年等等。
可见,本发明实施例中的底层服务压力测试方法,能够定期检测其配置信息是否发生变化,及时对底层服务对应的接口性能进行检测。
S102,如果底层服务的任一配置信息发生变化,则计算服务器集群各个接口的目标流量值,服务器集群是指实现底层服务功能的若干服务器的集合。
实际情况中,无论底层服务的配置信息是否发生变化,其服务器集群的目标流量值是不会发生变化,本发明实施例的目的在于,检测配置信息发生变化后的底层服务接口是否仍能承受目标的流量值,具体的接口又是怎么分配流量的。
图2为本发明实施例提供的计算目标流量值的方法流程图。如图2所示,如果底层服务的任一配置信息发生变化,则计算服务器集群各个接口的目标流量值的步骤包括:
S201,如果底层服务的任一配置信息发生变化,则获取目标每秒查询率,目标每秒查询率是指预设的服务器集群的每秒查询率数据。
根据上述内容可知,在本发明实施例中配置信息包括若干个,只要有配置信息发生变化,则需要对底层服务进行压力检测,判断底层服务涉及的接口是否还能承受目标流量值。
在本发明实施例中,每秒查询率(Query Per Second,QPS)是指一台服务器每秒能够处理的查询数,数值也可称为流量值,QPS与日活跃用户数量(Daily Active User,DAU)有一定的关系,DAU变化,相应的QPS也会变化,对于某一底层服务来说,当运营人员给出目标DAU之后,就可以根据DAU的变化情况获得目标QPS。
S202,通过对比服务器集群中各个服务器的性能,获取目标每秒查询率分配给每个服务器的负载流量值。
在服务器集群中,各个服务器的性能有所不同,例如,一个集群中有10台服务器,其中有5台是旧一点的,5台是新的,那么旧服务器的性能肯定没有新服务器的性能好,所以,可能5台新服务器能承受60%的流量,而5台旧服务器只能承受40%的流量。
如果集群中的服务器的型号都相同,只存在新旧之分,那么只需再将60%的流量平均分给5台新服务器,将40%的流量平均分给5台旧服务器,即可计算出分给每个服务器的负载流量值。
S203,通过对比服务器上接口的调用比例关系,计算服务器的负载流量值分配给每个接口的目标流量值。
接口调用比例关系是根据接口被调用的情况确定的,比如,某台服务器上,包括A接口和B接口,A接口可能会被调用1000次,B接口可能只会被调用500次,A接口与B接口的调用比例关系即为2:1,基于该服务器的负载流量值,再根据A接口与B接口的调用比例关系分配负载流量值,就能得到A接口上的目标流量值和B接口上的目标流量值。
可见,本发明实施例中提供的底层服务压力测试方法,还能计算出底层服务接口的目标流量值,在配置信息变化后按照该目标流量值对接口进行重新配置,能够获得当前底层服务的接口性能。本发明中的方式是计算出所有相关接口的目标流量值并进行配置与测试,而非只针对一个单一接口进行检测,能保证接口性能检测的全面性。
S103,参照服务器集群各个接口的目标流量值,对应配置服务器集群的各个接口。
仍以上述内容为例,某台服务器的负载流量值为60,A接口与B接口的调用比例关系为2:1,那么A接口上的目标流量值为60*(2/3)=40,而B接口上的目标流量值为60*(1/3)=20。计算各个接口上的目标流量值之后,按照目标流量值配置好各个接口。
S104,对配置好的各个接口同时进行压力测试,获得压力测试结果。
对各个接口按照其各自的目标流量值同时进行压力测试,即运营一次步骤S101中配置信息变化后的底层服务,检测各个接口的数据,获得压力测试结果,本发明实施例中的“同时”是指同一时间,即同时执行对于各个接口的测试。
图3为本发明实施例提供的获取目标每秒查询率的方法流程图。如图3所示,如果底层服务的任一配置信息发生变化,则获取目标每秒查询率的步骤包括:
S301,如果底层服务的任一配置信息发生变化,则获取服务器集群的目标日活跃用户数量、历史日活跃用户数量、历史每秒查询率和测试比例参数,目标日活跃用户数量是指预设的服务器集群的日活跃用户数量数据,历史日活跃用户数量和历史每秒查询率是指当前测试的前一次底层服务线上运营时获取的服务器集群的日活跃用户数量数据和每秒查询率数据,测试比例参数用于反映当前测试的前一次底层服务线上运营时的历史每秒查询率与历史日活跃用户数量的比例关系。
本发明实施例中的底层服务需要进行两个过程,分别是测试过程和线上运营过程,如果把当前测试过程和当前线上运营过程看作一个阶段,那么当前测试的前一次底层服务线上运营是指当前阶段的上一个阶段中的线上运营过程。对于本次测试和运营来说,前一次的测试数据和运营数据是有历史记录的,可以从相应的保存位置获得。本发明实施例中所称的测试数据为测试过程中获得的DAU数据、QPS数据、测试比例参数等等,运营数据为线上运营过程中获得的DAU数据、QPS数据、当前比例参数等等。
S302,利用目标日活跃用户数量、历史日活跃用户数量、历史每秒查询率和测试比例参数,计算目标每秒查询率。
在本发明实施例中可以根据以下公式计算目标每秒查询率:
(目标日活跃用户数量/历史日活跃用户数量)*历史每秒查询率*α1=目标每秒查询率,其中,α1为测试比例参数。
本发明中进行了底层服务压力测试之后,还要对底层服务进行线上运营,获取线上运营过程中的线上数据,以修正测试过程中的测试比例参数,为下一次的QPS值评估提供一个参考值。
图4为本发明实施例提供的修正测试比例参数的方法流程图。如图4所示,在对配置好的各个接口同时进行压力测试,获得压力测试结果之后还包括:
S401,获取服务器集群的线上每秒查询率与线上日活跃用户数量,线上每秒查询率是指底层服务线上运营时获取的每秒查询率数据,线上日活跃用户数量是指底层服务线上运营时获取的日活跃用户数量数据。
本发明实施例中的底层服务需要进行两个过程,分别是测试过程和线上运营过程,如果把一次测试过程和一次线上运营过程看作一个阶段,第一个阶段的线上运营过程更新的是第一个阶段的测试比例参数,第二阶段的测试过程使用的是第一个阶段中更新后的测试比例参数。
S402,利用线上每秒查询率与线上日活跃用户数量,计算当前比例参数。
通常,如有用α2表示当前比例参数,则其与线上每秒查询率与线上日活跃用户数量之间的关系为:
线上日活跃用户数量*α2=线上每秒查询率。
S403,将测试比例参数修正为当前比例参数。
修正的过程即为将α1的值替换为α2的值的过程,即当底层服务的某一个配置信息发生变化时,对应与此时这种情况产生的新的比例参数为α2。当以后同种底层服务再发生相同的配置信息变化时,仍采用这个比例参数α2,就可以根据比例参数α2估计当前的目标每秒查询率。
另外,如果测试比例参数α1对应的检测为初始状态的检测,那么α1的初始默认值为1.2。
修正了测试比例参数之后,在下一次的底层服务压力测试时,即可采用该参数进行QPS的计算评估,测试阶段结束进入下一个线上运营阶段时,可以再进行测试比例参数的修正,本发明提供的方法能够不断地修正比例参数,以期获得更加准确的QPS值。
本发明实施例中历史DAU是指当前测试的前一次测试中获取的服务器集群的DAU数据,而前一次测试是指本次底层服务的配置信息发生变化之前的运营状态下的计算过程。也就是说,本发明实施例中可以将前一次检测的条件确定为底层服务的配置信息未发生变化,那么计算其比例参数只需要检测服务器集群的DAU数据和QPS数据,此时的DAU数据和QPS数据相比于变化后的底层服务而言,可作为历史DAU和历史QPS。
可见,本发明提供的底层服务压力测试方法在根据接口的目标流量值进行压力测试之后,还对DAU数据和QPS数据相关的比例参数进行计算,及时更新比例参数,为相同底层服务相同配置信息变化的情况提供一个参考值,避免遇到同样情况再次进行计算,节省时间,提高底层服务运营的效率。
图5为本发明实施例提供的分配底层服务流量的方法流程图。如图5所示,对配置好的各个接口同时进行压力测试,获得压力测试结果之后,还包括:
S501,分析压力测试结果,获得服务器各个接口的接口性能。
S502,按照接口性能分配底层服务的流量。
当前的接口性能可以与之前的性能进行比较,如果性能符合要求,在当前底层服务配置信息不发生变化的情况下,根据当前的接口目标流量值对接口进行配置。当底层服务的配置信息再次发生变化时,需要重新计算接口的目标流量值,再次检测接口性能,确定另一种配置信息变化的情况下,各个接口的性能。
本发明实施例中,在对底层服务进行压力测试之后,就能获得相关接口的性能信息,根据各个接口不同的性能进行流量分配,可以保证整个底层服务的运营效率更高。
由以上技术方案可知,本发明提供了底层服务压力测试方法。该方法在检测到底层服务的配置信息发生变化时,及时计算服务器集群各个接口的目标流量值,根据计算的目标流量值配置服务器集群的各个接口,最后按照配置好的内容,同时对各个接口进行压力测试,获得压力测试结果。本发明的技术方案通过同时对接口进行压力测试,能够在底层服务变化时,获得比较全面的接口信息,避免目前每次只能针对一个接口进行测试,提高了对底层服务压力测试的准确性。
图6为本发明实施例提供的底层服务压力测试装置的结构框图。如图6所示,本发明提供了一种底层服务压力测试装置,包括:信息检测模块61,用于检测底层服务的配置信息是否发生变化;目标流量计算模块62,用于如果底层服务的任一配置信息发生变化,则计算服务器集群各个接口的目标流量值,所述服务器集群是指实现底层服务功能的若干服务器的集合;服务器集群配置模块63,用于参照所述服务器集群各个接口的目标流量值,对应配置服务器集群的各个接口;压力测试模块64,用于对配置好的各个接口同时进行压力测试,获得压力测试结果。
可选的,所述目标流量计算模块62,包括:目标每秒查询率获取单元,用于如果底层服务的任一配置信息发生变化,则获取目标每秒查询率,所述目标每秒查询率是指预设的服务器集群的每秒查询率数据;负载流量获取单元,用于通过对比所述服务器集群中各个服务器的性能,获取所述目标每秒查询率分配给每个服务器的负载流量值;流量分配单元,用于通过对比所述服务器上接口的调用比例关系,计算所述服务器的负载流量值分配给每个接口的目标流量值。
可选的,还包括:数据获取模块,用于如果底层服务的任一配置信息发生变化,则获取所述服务器集群的目标日活跃用户数量、历史日活跃用户数量、历史每秒查询率和测试比例参数,所述目标日活跃用户数量是指预设的服务器集群的日活跃用户数量数据,所述历史日活跃用户数量和所述历史每秒查询率是指当前测试的前一次底层服务线上运营时获取的服务器集群的日活跃用户数量数据和每秒查询率数据,所述测试比例参数用于反映当前测试的前一次底层服务线上运营时的历史每秒查询率与历史日活跃用户数量的比例关系;目标每秒查询率计算模块,用于利用所述目标日活跃用户数量、所述历史日活跃用户数量、所述历史每秒查询率和所述测试比例参数,计算目标每秒查询率。
可选的,还包括:线上数据获取模块,用于获取所述服务器集群的线上每秒查询率与线上日活跃用户数量,所述线上每秒查询率是指底层服务线上运营时获取的每秒查询率数据,所述线上日活跃用户数量是指底层服务线上运营时获取的日活跃用户数量数据;当前比例参数计算模块,用于利用所述线上每秒查询率与所述线上日活跃用户数量,计算当前比例参数;参数修正模块,用于将所述测试比例参数修正为所述当前比例参数;压力测试模块,还用于利用所述当前比例参数继续进行下一次的底层服务压力测试。
可选的,所述目标每秒查询率计算模块根据以下公式利用所述目标日活跃用户数量、历史日活跃用户数量、历史每秒查询率和测试比例参数,计算目标每秒查询率:
(目标日活跃用户数量/历史日活跃用户数量)*历史每秒查询率*α1=目标每秒查询率,其中,α1为测试比例参数。
可选的,还包括:分析模块,用于分析所述压力测试结果,获得服务器各个接口的接口性能;分配模块,用于按照所述接口性能分配所述底层服务的流量。
图7为本发明实施例提供的电子设备硬件结构示意图。如图7所示,本发明提供了一种电子设备,包括:存储器71,用于存储程序指令;处理器72,用于调用并执行所述存储器中的程序指令,以实现上述实施例所述的底层服务压力测试方法。
本实施例中,处理器和存储器可通过总线或其他方式连接。处理器可以是通用处理器,例如中央处理器、数字信号处理器、专用集成电路,或者被配置成实施本发明实施例的一个或多个集成电路。存储器可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘。
本发明是实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,当底层服务压力测试装置的至少一个处理器执行所述计算机程序时,底层服务压力测试装置执行上述实施例所述的底层服务压力测试方法。
所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于服务构建装置和服务加载装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本发明实施方式并不构成对本发明保护范围的限定。

Claims (12)

1.一种底层服务压力测试方法,其特征在于,包括:
检测底层服务的配置信息是否发生变化;
如果底层服务的任一配置信息发生变化,则计算服务器集群各个接口的目标流量值,所述服务器集群是指实现底层服务功能的若干服务器的集合;
参照所述服务器集群各个接口的目标流量值,对应配置服务器集群的各个接口;
对配置好的各个接口同时进行压力测试,获得压力测试结果;
获取所述服务器集群的线上每秒查询率与线上日活跃用户数量,所述线上每秒查询率是指底层服务线上运营时获取的每秒查询率数据,所述线上日活跃用户数量是指底层服务线上运营时获取的日活跃用户数量数据;
利用所述线上每秒查询率与所述线上日活跃用户数量,计算当前比例参数;
将测试比例参数修正为所述当前比例参数;所述测试比例参数用于反映当前测试的前一次底层服务线上运营时的历史每秒查询率与历史日活跃用户数量的比例关系;
利用所述当前比例参数继续进行下一次的底层服务压力测试。
2.根据权利要求1所述的方法,其特征在于,所述如果底层服务的任一配置信息发生变化,则计算服务器集群各个接口的目标流量值的步骤包括:
如果底层服务的任一配置信息发生变化,则获取目标每秒查询率,所述目标每秒查询率是指预设的服务器集群的每秒查询率数据;
通过对比所述服务器集群中各个服务器的性能,获取所述目标每秒查询率分配给每个服务器的负载流量值;
通过对比所述服务器上接口的调用比例关系,计算所述服务器的负载流量值分配给每个接口的目标流量值。
3.根据权利要求2所述的方法,其特征在于,所述如果底层服务的任一配置信息发生变化,则获取目标每秒查询率的步骤包括:
如果底层服务的任一配置信息发生变化,则获取所述服务器集群的目标日活跃用户数量、历史日活跃用户数量、历史每秒查询率和测试比例参数,所述目标日活跃用户数量是指预设的服务器集群的日活跃用户数量数据,所述历史日活跃用户数量和所述历史每秒查询率是指当前测试的前一次底层服务线上运营时获取的服务器集群的日活跃用户数量数据和每秒查询率数据;
利用所述目标日活跃用户数量、所述历史日活跃用户数量、所述历史每秒查询率和所述测试比例参数,计算目标每秒查询率。
4.根据权利要求3所述的方法,其特征在于,根据以下公式利用所述目标日活跃用户数量、历史日活跃用户数量、历史每秒查询率和测试比例参数,计算目标每秒查询率:
(目标日活跃用户数量/历史日活跃用户数量)*历史每秒查询率 *α 1=目标每秒查询率, 其中,
Figure 126731DEST_PATH_IMAGE001
为测试比例参数。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述对配置好的各个接口同时进行压力测试,获得压力测试结果之后,还包括:
分析所述压力测试结果,获得服务器各个接口的接口性能;
按照所述接口性能分配所述底层服务的流量。
6.一种底层服务压力测试装置,其特征在于,包括:
信息检测模块,用于检测底层服务的配置信息是否发生变化;
目标流量计算模块,用于如果底层服务的任一配置信息发生变化,则计算服务器集群各个接口的目标流量值,所述服务器集群是指实现底层服务功能的若干服务器的集合;
服务器集群配置模块,用于参照所述服务器集群各个接口的目标流量值,对应配置服务器集群的各个接口;
压力测试模块,用于对配置好的各个接口同时进行压力测试,获得压力测试结果;
线上数据获取模块,用于获取所述服务器集群的线上每秒查询率与线上日活跃用户数量,所述线上每秒查询率是指底层服务线上运营时获取的每秒查询率数据,所述线上日活跃用户数量是指底层服务线上运营时获取的日活跃用户数量数据;
当前比例参数计算模块,用于利用所述线上每秒查询率与所述线上日活跃用户数量,计算当前比例参数;
参数修正模块,用于将测试比例参数修正为所述当前比例参数;所述测试比例参数用于反映当前测试的前一次底层服务线上运营时的历史每秒查询率与历史日活跃用户数量的比例关系;
压力测试模块,还用于利用所述当前比例参数继续进行下一次的底层服务压力测试。
7.根据权利要求6所述的装置,其特征在于,所述目标流量计算模块,包括:
目标每秒查询率获取单元,用于如果底层服务的任一配置信息发生变化,则获取目标每秒查询率,所述目标每秒查询率是指预设的服务器集群的每秒查询率数据;
负载流量获取单元,用于通过对比所述服务器集群中各个服务器的性能,获取所述目标每秒查询率分配给每个服务器的负载流量值;
流量分配单元,用于通过对比所述服务器上接口的调用比例关系,计算所述服务器的负载流量值分配给每个接口的目标流量值。
8.根据权利要求7所述的装置,其特征在于,还包括:
数据获取模块,用于如果底层服务的任一配置信息发生变化,则获取所述服务器集群的目标日活跃用户数量、历史日活跃用户数量、历史每秒查询率和测试比例参数,所述目标日活跃用户数量是指预设的服务器集群的日活跃用户数量数据,所述历史日活跃用户数量和所述历史每秒查询率是指当前测试的前一次底层服务线上运营时获取的服务器集群的日活跃用户数量数据和每秒查询率数据;
目标每秒查询率计算模块,用于利用所述目标日活跃用户数量、所述历史日活跃用户数量、所述历史每秒查询率和所述测试比例参数,计算目标每秒查询率。
9.根据权利要求8所述的装置,其特征在于,所述目标每秒查询率计算模块根据以下公式利用所述目标日活跃用户数量、历史日活跃用户数量、历史每秒查询率和测试比例参数,计算目标每秒查询率:
(目标日活跃用户数量/历史日活跃用户数量)*历史每秒查询率 *
Figure 277090DEST_PATH_IMAGE001
=目标每秒查询 率,其中,
Figure 12965DEST_PATH_IMAGE001
为测试比例参数。
10.根据权利要求6-9任一项所述的装置,其特征在于,还包括:
分析模块,用于分析所述压力测试结果,获得服务器各个接口的接口性能;
分配模块,用于按照所述接口性能分配所述底层服务的流量。
11.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现权利要求1~5任一项所述的底层服务压力测试方法。
12.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,当底层服务压力测试装置的至少一个处理器执行所述计算机程序时,底层服务压力测试装置执行权利要求1-5任一项所述的底层服务压力测试方法。
CN201910384182.XA 2019-05-09 2019-05-09 底层服务压力测试方法、装置、电子设备及存储介质 Active CN110262959B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910384182.XA CN110262959B (zh) 2019-05-09 2019-05-09 底层服务压力测试方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910384182.XA CN110262959B (zh) 2019-05-09 2019-05-09 底层服务压力测试方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110262959A CN110262959A (zh) 2019-09-20
CN110262959B true CN110262959B (zh) 2022-11-11

Family

ID=67914487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910384182.XA Active CN110262959B (zh) 2019-05-09 2019-05-09 底层服务压力测试方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110262959B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110830313B (zh) * 2019-12-16 2023-01-17 广州品唯软件有限公司 压测流量模型的生成方法、装置和可读存储介质
CN111130933B (zh) * 2019-12-17 2023-04-07 上海品顺信息科技有限公司 页面流量的预估方法、装置及计算机可读存储介质
CN111078478B (zh) * 2019-12-17 2022-10-25 腾讯科技(深圳)有限公司 服务器压力测试方法、装置和计算机可读存储介质
CN111143209B (zh) * 2019-12-23 2023-10-17 五八有限公司 分层压力测试方法、装置、电子设备及存储介质
CN111431759B (zh) * 2020-02-27 2022-02-25 北京达佳互联信息技术有限公司 一种性能测试方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106850321A (zh) * 2017-04-05 2017-06-13 无锡华云数据技术服务有限公司 一种集群服务器的模拟测试系统
CN107015892A (zh) * 2017-03-30 2017-08-04 腾讯科技(深圳)有限公司 一种压力测试方法、装置和系统
CN107590249A (zh) * 2017-09-18 2018-01-16 郑州云海信息技术有限公司 一种分布式文件系统的负载平衡方法、装置及设备
CN107872329A (zh) * 2016-09-22 2018-04-03 阿里巴巴集团控股有限公司 一种预估qps的方法和设备
CN108763093A (zh) * 2018-06-01 2018-11-06 政采云有限公司 一种自动化测试方法和系统
CN109491754A (zh) * 2017-09-12 2019-03-19 北京京东尚科信息技术有限公司 虚拟服务器的性能测试方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150095892A1 (en) * 2013-09-27 2015-04-02 Linkedln Corporation Systems and methods for evaluating a change pertaining to a service or machine
CN105281978B (zh) * 2015-10-23 2019-02-19 小米科技有限责任公司 一种性能测试的方法、装置和系统
CN105897457A (zh) * 2015-12-09 2016-08-24 乐视云计算有限公司 服务器群组的服务升级方法及系统
CN106294177B (zh) * 2016-08-22 2018-06-22 腾讯科技(深圳)有限公司 一种接口的压力测试方法及测试设备
CN108022007B (zh) * 2017-11-27 2020-12-22 广州虎牙信息科技有限公司 目标应用的日活跃用户数量预测方法、装置和终端设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107872329A (zh) * 2016-09-22 2018-04-03 阿里巴巴集团控股有限公司 一种预估qps的方法和设备
CN107015892A (zh) * 2017-03-30 2017-08-04 腾讯科技(深圳)有限公司 一种压力测试方法、装置和系统
CN106850321A (zh) * 2017-04-05 2017-06-13 无锡华云数据技术服务有限公司 一种集群服务器的模拟测试系统
CN109491754A (zh) * 2017-09-12 2019-03-19 北京京东尚科信息技术有限公司 虚拟服务器的性能测试方法和装置
CN107590249A (zh) * 2017-09-18 2018-01-16 郑州云海信息技术有限公司 一种分布式文件系统的负载平衡方法、装置及设备
CN108763093A (zh) * 2018-06-01 2018-11-06 政采云有限公司 一种自动化测试方法和系统

Also Published As

Publication number Publication date
CN110262959A (zh) 2019-09-20

Similar Documents

Publication Publication Date Title
CN110262959B (zh) 底层服务压力测试方法、装置、电子设备及存储介质
CN111064614B (zh) 一种故障根因定位方法、装置、设备及存储介质
US10965565B2 (en) Method and apparatus for monitoring bandwidth condition
WO2017045472A1 (zh) 资源预测方法、系统和容量管理装
TW201941058A (zh) 異常檢測方法及裝置
CN112904266B (zh) 一种电能表寿命预测方法及装置
CN111752481B (zh) 一种基于spd的内存监控及寿命预测方法和系统
CN111679968A (zh) 接口调用异常的检测方法、装置、计算机设备及存储介质
CN112256553A (zh) 一种应用软件测试方法、装置及电子设备
CN111709124A (zh) 产品fmeca分析方法、装置、计算机设备和存储介质
CN111143209B (zh) 分层压力测试方法、装置、电子设备及存储介质
CN110691118A (zh) 一种微服务集群中的服务选择方法及装置
CN111858369A (zh) 内存监控方法、装置、设备及存储介质
CN111198891A (zh) 数据源融合方法、电子设备及非暂态计算机可读存储介质
CN111127247A (zh) 电量数据采集方法、装置、计算机设备和存储介质
CN111428197B (zh) 数据处理方法、装置及设备
CN110855484B (zh) 自动检测业务量变化的方法、系统、电子设备和存储介质
CN112395155A (zh) 服务的监控方法和装置、存储介质、电子装置
CN109408225B (zh) 资源扩容方法、装置、计算机设备以及存储介质
CN112068015A (zh) 一种电源模组的健康度计算方法、装置及电子设备
CN110443451B (zh) 事件定级方法、装置、计算机设备和存储介质
CN115640167A (zh) 数据备份方法、装置、电子设备及存储介质
CN113608953B (zh) 测试数据生成方法、装置、电子设备及可读存储介质
CN115130936A (zh) 基于关键状态量的变电设备运行可靠性评估方法
CN112929887B (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
GR01 Patent grant
GR01 Patent grant