一种压力测试方法和装置制造方法及图纸

技术编号:34864118 阅读:15 留言:0更新日期:2022-09-08 08:08
本发明专利技术公开一种压力测试方法和装置,属于服务器测试领域。方法包括:向压力机发送流量文件,并获取被测服务器相应的CPU使用率;根据被测服务器CPU使用率与并发流量文件数量的线性关系,以及流量文件数量和CPU使用率,判断被测服务器是否工作在线性区,并进行线性或非线性流量文件调整,使最终向压力机发送的流量文件数量引起被测服务器CPU使用率增量为所述预设使用率增量;在被测服务器CPU使用率达到使用率阈值时记录流量文件数量作为测试结果,并终止所述压力测试方法的执行。通过实施本发明专利技术公开的一种压力测试方法和装置,达成了服务器压力测试过程的自动化,节约了人工和时间成本,并获取精确的测试结果。并获取精确的测试结果。并获取精确的测试结果。

【技术实现步骤摘要】
一种压力测试方法和装置


[0001]本专利技术涉及服务器测试
,特别涉及一种压力测试方法和装置。

技术介绍

[0002]服务器压力测试是在设备投入使用前,或在负载达到极限以前,通过执行可重复的负载测试,了解服务器系统可靠性、性能瓶颈等参数,以提高服务器系统的可靠性、稳定性,减少系统在运行过程中的宕机现象和由此带来的损失。
[0003]对于OSP服务(Open Service Platform,即开放服务平台)单机性能测试主要分为两类:(1)瓶颈探索类,通过模拟高并发场景得出OSP服务在性能瓶颈状态下QPS指标(Queries Per Second,即每秒查询请求数)或TPS指标(Transactions Per Second,即每秒处理事务数);(2)场景对比类:在不同场景下(如:不同基础配置、不同代码版本等),对相同的OSP服务分别施加并发流量(QPS/TPS),使对应不同场景的OSP服务所在Linux服务器的CPU使用率达到无限接近的状态,此时各场景的并发流量即为OSP服务的场景性能指标。上述两种类型的性能测试均需限定CPU使用率阈值(例如:瓶颈探索类测试通常限定CPU使用率不超过70%,场景对比类通常限定CPU使用率不超过50%),在CPU使用率接近而不超过该阈值的情况下,测试得到并发流量。
[0004]目前,为了测出OSP服务的QPS指标,通常采用JMeter的并发请求能力对OSP服务施加压力。JMeter的并发请求能力最小调节粒度为1个线程,而在高性能OSP服务性能测试中1个线程的压力变化可能会带来1000个以上的QPS压力变化以及超过2%的CPU使用率变化。可见,通过控制线程数来控制施加压力的方式过于粗糙,难以得到准确的性能测试结果。另一方面,为了施加不同大小的并发流量使OSP服务所在的Linux服务器达到指定CPU使用率,往往需要性能测试人员依次执行以下操作:调节JMeter并发数量、启动测试、监控、中止,再根据监控CPU使用率调节JMeter并发数量以启动新一轮性能测试,直至OSP服务所在的Linux服务器的CPU使用率达到预期目标。整个过程通常需要循环调试多次,并且单次性能测试耗时时间长,测试的工作量巨大。因此,亟需一种压力指标调节粒度小,测试流程自动化的方法对服务器进行精确的、自动化的压力测试。

技术实现思路

[0005]为了解决现有技术的问题,本专利技术实施例提供了一种压力测试方法和装置,以克服现有技术中服务器压力测试过程需要人工多次循环调试,并且单次性能测试耗时时间长,测试的工作量巨大的问题。
[0006]为了解决上述的一个或多个技术问题,本专利技术采用的技术方案如下:
[0007]第一方面,提供一种压力测试方法,应用于控制端,方法包括:
[0008]在当前调整周期的第一个监控周期,向压力机发送数量为Q
N,1
的流量文件,并从监测端获取被测服务器响应于压力机根据数量为Q
N,1
的流量文件向被测服务器并发流量请求的CPU使用率U
N,1
;其中,Q
N,1
=Q
N
‑1+ΔQ
N
‑1,Q
N
‑1表示上一调整周期最终向压力机发送的流量
文件数量,ΔQ
N
‑1=Q
N
‑1‑
Q
N
‑2表示上一调整周期最终向压力机增发的流量文件数量,1个调整周期包括n个监控周期,n为自然数,并发流量请求的数量对应于流量文件的数量;
[0009]根据被测服务器CPU使用率U与并发流量文件数量Q的线性关系,以及流量文件数量Q
N,1
和被测服务器响应于压力机根据数量为Q
N,1
的流量文件向被测服务器并发流量请求的CPU使用率U
N,1
,判断被测服务器是否工作在线性区;
[0010]根据预设规则调整向压力机发送的流量文件数量。
[0011]进一步地,根据预设规则调整向压力机发送的流量文件数量包括:
[0012]若判断被测服务器是否工作在线性区的结果为“是”,则在当前调整周期剩余的监控周期向压力机发送数量为Q
N
的流量文件,并从监测端获取被测服务器响应于压力机根据数量为Q
N
的流量文件向被测服务器并发流量请求的CPU使用率U
N
,使当前调整周期的被测服务器CPU使用率增量为预设使用率增量ΔU;其中,被测服务器CPU使用率增量表示当前调整周期CPU使用率相对于上一调整周期CPU使用率的增加量;
[0013]若判断被测服务器是否工作在线性区的结果为“否”,则从下一个监控周期开始调整向压力机增发的流量文件数量,使当前调整周期最终向压力机发送的流量文件数量引起被测服务器响应于压力机根据增发的流量文件数量向被测服务器并发流量请求的CPU使用率增量为预设使用率增量ΔU;
[0014]判断当前调整周期的被测服务器CPU使用率是否大于使用率阈值;
[0015]若是,则以上一个调整周期的流量文件数量Q
N
‑1为基础,逐个增加流量文件数量,直至被测服务器响应于流量文件的CPU使用率达到使用率阈值,记录流量文件数量Q
N
作为测试结果Q
R
,并终止压力测试方法的执行。
[0016]进一步地,方法前还包括:获取被测服务器CPU使用率U与流量文件数量Q的线性关系;
[0017]获取被测服务器CPU使用率U与并发流量文件数量Q的线性关系包括:
[0018]从监测端获取被测服务器CPU空载使用率U0;
[0019]向压力机发送数量为第一数量Q
T
的流量文件;
[0020]从监测端获取被测服务器响应于压力机根据数量为Q
T
的流量文件向被测服务器并发流量请求的CPU使用率U
T

[0021]根据Q
T
,U
T
和U0获取被测服务器CPU使用率U与并发请求数量Q的线性函数关系。
[0022]进一步地,从下一个监控周期开始调整向压力机增发的流量文件数量,使当前调整周期最终向压力机发送的流量文件数量引起被测服务器响应于压力机根据流量文件数量向被测服务器并发流量请求的CPU使用率增量为预设使用率增量ΔU包括:
[0023]根据第一公式和第二公式获取相应的监控周期向压力机发送的流量文件数量;
[0024]第一公式:Q
N,i+1
=Q
N
‑1+ΔQ
N,i+1
[0025]第二公式:
[0026]其中,i为自然数,表示当前调整周期内的第i个监控周期;
[0027]ΔU
N,i
表示第N个调整周期内,第i个监控周期监测到的被测服务器CPU使用率增量;
[0028]ΔQ
N,i
表示第N个调整本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种压力测试方法,应用于控制端,其特征在于,所述方法包括:在当前调整周期的第一个监控周期,向压力机发送数量为Q
N,1
的流量文件,并从监测端获取被测服务器响应于压力机根据数量为Q
N,1
的流量文件向所述被测服务器并发流量请求的CPU使用率U
N,1
;其中,Q
N,1
=Q
N
‑1+ΔQ
N
‑1,Q
N
‑1表示上一调整周期最终向压力机发送的流量文件数量,ΔQ
N
‑1=Q
N
‑1‑
Q
N
‑2表示上一调整周期最终向压力机增发的流量文件数量,1个调整周期包括n个监控周期,n为自然数,所述并发流量请求的数量对应于所述流量文件的数量;根据被测服务器CPU使用率U与并发流量文件数量Q的线性关系,以及流量文件数量Q
N,1
和被测服务器响应于压力机根据数量为Q
N,1
的流量文件向所述被测服务器并发流量请求的CPU使用率U
N,1
,判断被测服务器是否工作在线性区;根据预设规则调整向压力机发送的流量文件数量。2.根据权利要求1所述的一种压力测试方法,其特征在于,所述根据预设规则调整向压力机发送的流量文件数量包括:若判断被测服务器是否工作在线性区的结果为“是”,则在当前调整周期剩余的监控周期向压力机发送数量为Q
N
的流量文件,并从监测端获取所述被测服务器响应于压力机根据数量为Q
N
的流量文件向所述被测服务器并发流量请求的CPU使用率U
N
,使当前调整周期的被测服务器CPU使用率增量为预设使用率增量ΔU;其中,所述被测服务器CPU使用率增量表示当前调整周期CPU使用率相对于上一调整周期CPU使用率的增加量;若判断被测服务器是否工作在线性区的结果为“否”,则从下一个监控周期开始调整向压力机增发的流量文件数量,使当前调整周期最终向压力机发送的流量文件数量引起所述被测服务器响应于压力机根据增发的流量文件数量向所述被测服务器并发流量请求的CPU使用率增量为所述预设使用率增量ΔU;判断当前调整周期的被测服务器CPU使用率是否大于使用率阈值;若是,则以上一个调整周期的流量文件数量Q
N
‑1为基础,逐个增加流量文件数量,直至所述被测服务器响应于流量文件的CPU使用率达到所述使用率阈值,记录流量文件数量Q
N
作为测试结果Q
R
,并终止所述压力测试方法的执行。3.根据权利要求1或2所述的一种压力测试方法,其特征在于,所述方法前还包括:获取被测服务器CPU使用率U与流量文件数量Q的线性关系;所述获取被测服务器CPU使用率U与并发流量文件数量Q的线性关系包括:从监测端获取所述被测服务器CPU空载使用率U0;向压力机发送数量为第一数量Q
T
的流量文件;从监测端获取所述被测服务器响应于压力机根据数量为Q
T
的流量文件向所述被测服务器并发流量请求的CPU使用率U
T
;根据Q
T
,U
T
和U0获取所述被测服务器CPU使用率U与并发请求数量Q的线性函数关系。4.根据权利要求1或2所述的一种压力测试方法,其特征在于,所述从下一个监控周期开始调整向压力机增发的流量文件数量,使当前调整周期最终向压力机发送的流量文件数量引起所述被测服务器响应于压力机根据流量文件数量向所述被测服务器并发流量请求的CPU使用率增量为所述预设使用率增量ΔU包括:根据第一公式和第二公式获取相应的监控周期向压力机发送的流量文件数量;第一公式:Q
N,i+1
=Q
N
‑1+ΔQ
N,i+1
第二公式:其中,i为自然数,表示当前调整周期内的第i个监控周期;ΔU
N,i
表示第N个调整周期内,第i个监控周期监测到的被测服务器CPU使用率增量;ΔQ
N,i
表示第N个调整周期内,第i个监控周期的向压力机发送的流量文件数量;Q
N
‑1表示第N

1个调整周期最终向压力机发送的流量文件数量;A
N,i
=1.0,0.9,0.8,
……
,0.1,表示可调系数;在每个监控周期,从监测端获取所述被测服务器响应于压力机根据数量为Q
N,1
的流量文件向所述被测服务器并发流量请求的CPU使用率ΔU
N,i
,并判断当前监控周期被测服务器CPU使用率增量ΔU
N,i
是否等于ΔU;若是,则将当前监控周期向压力机发送的流量文件数量Q
N,i
作为当前调整周期最终向压力机发送的流量文件数量,并记录当前调整周期最终向压力机发送的流量文件数量;若否,则判断当前监控周期,所述被测服务器响应于数量为Q
N,i
的流量文件的CPU使用率增量ΔU
N,i
是否大于ΔU;若是,则重复执行第一公式和第二公式,直至判断当前监控周期,所述被测服务器响应于数量为Q
N,i
...

【专利技术属性】
技术研发人员:陈剑君
申请(专利权)人:唯品会广州软件有限公司
类型:发明
国别省市:

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

1