System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及测试,尤其涉及一种仿真压力测试方法、仿真压力测试系统、计算设备及程序产品。
技术介绍
1、传统的压测工具或者压测平台,都是基于对线程数的不断设置和调整来模拟用户进行压测,从而查看压测指标是否合格。这种压测方案,操作重复性和时间成本较高,给人一种不灵活非仿真体验感。例如,jmeter的压测流程,是由用户不断设置线程数来查看qps、响应时间等是否达标,每次操作都需要在设置某个线程后进行观察,不符合指标时停止压测并进行调整,然后再进行观察,该方案无法支持百万用户同时在线的仿真场景,且存在大量重复的操作步骤,需要用户频繁操作,压测流程复杂,压测效率较低。
2、为此,需要一种新的仿真压力测试方法,以解决上述技术方案中存在的问题。
技术实现思路
1、为此,本专利技术提供一种仿真压力测试方法及仿真压力测试系统,以解决或至少缓解上面存在的问题。
2、根据本专利技术的一个方面,提供一种仿真压力测试方法,在分布式压测系统中执行,用于对服务器的被测接口进行仿真压力测试,所述分布式压测系统包括主发压设备和多个从发压设备,所述方法包括:基于被测接口信息、对应集中触发请求的第一压测指标、压测脚本,创建对被测接口的压测任务,所述第一压测指标包括第一预期tcp值和第一预期qps值,其中,预期tcp值用于表示模拟用户与被测接口建立的tcp连接数,qps值用于表示被测接口每秒的响应请求数;通过主发压设备将所述压测任务下发至各个从发压设备;通过各个从发压设备启动并执行所述压测任务,
3、可选地,在根据本专利技术的仿真压力测试方法中,对所述被测接口进行集中触发请求情况下的仿真压力测试,包括:确定所述被测接口在集中触发请求情况下的第一实际qps值,并将所述第一实际qps值与所述第一预期qps值进行对比,以生成第一压测结果;对所述被测接口进行分散触发请求情况下的仿真压力测试,包括:确定所述被测接口在分散触发请求情况下的第二实际qps值,并将所述第二实际qps值与所述第二预期qps值进行对比,以生成第二压测结果。
4、可选地,在根据本专利技术的仿真压力测试方法中,基于所述第一压测指标向所述被测接口发送请求,包括:基于所述第一压测指标经由负载生成器向所述被测接口发送请求;基于所述第二压测指标向所述被测接口发送请求,包括:基于所述第二压测指标经由负载生成器向所述被测接口发送请求。
5、可选地,在根据本专利技术的仿真压力测试方法中,分别对所述第一预期tcp值和所述第一预期qps值进行动态调整,以得到第二预期tcp值和第二预期qps值,包括:基于第一预期tcp值和每秒启动的tcp连接数,对所述第一预期tcp值进行动态调整;构建限流器,通过所述限流器对所述第一预期qps值进行动态调整,以得到第二预期qps值。
6、可选地,在根据本专利技术的仿真压力测试方法中,还包括:通过负载生成器获取所述第一压测结果和所述第二压测结果,并将所述第一压测结果和所述第二压测结果展示在所述仿真压测页面上。
7、可选地,在根据本专利技术的仿真压力测试方法中,所述被测接口信息包括被测接口的url;基于被测接口信息、对应集中触发请求的第一压测指标、压测脚本,创建对被测接口的压测任务,包括:基于被测接口的url、对应集中触发请求的第一压测指标、压测脚本、请求方式,创建对被测接口的压测任务,其中,所述请求方式包括get请求。
8、可选地,在根据本专利技术的仿真压力测试方法中,所述分布式压测系统中部署有测试工具,所述方法被配置为在所述测试工具中执行,所述测试工具适于基于zeromq网络通讯库与负载生成器建立通信连接。
9、根据本专利技术的一个方面,提供一种仿真压力测试系统,包括:分布式压测系统,包括主发压设备和多个从发压设备;测试工具,部署在所述分布式压测系统中,所述测试工具适于执行如上所述的方法,来对服务器的被测接口进行仿真压力测试。
10、根据本专利技术的一个方面,提供一种计算设备,包括:至少一个处理器;存储器,存储有程序指令,其中,程序指令被配置为适于由上述至少一个处理器执行,所述程序指令包括用于执行如上所述的仿真压力测试方法的指令。
11、根据本专利技术的一个方面,提供一种计算机程序产品,包括计算机程序/指令,其中,所述计算机程序/指令被处理器执行时实现如上所述的方法。
12、根据本专利技术的一个方面,提供一种存储有程序指令的可读存储介质,当该程序指令被计算设备读取并执行时,使得该计算设备执行如上所述的仿真压力测试方法。
13、根据本专利技术的技术方案,提供了一种仿真压力测试方法,基于被测接口信息、对应集中触发请求的第一压测指标(包括第一预期tcp值和第一预期qps值)、压测脚本来创建对被测接口的压测任务,通过主发压设备将压测任务下发至各个从发压设备,由各个从发压设备启动并执行压测任务,以基于第一压测指标向被测接口发送请求,以便对被测接口进行集中触发请求情况下的仿真压力测试,并且,在执行压测任务过程中,分别对第一预期tcp值和第一预期qps值进行动态调整,得到第二预期tcp值和第二预期qps值,据此得到对应分散触发请求的第二压测指标并发送至各个从发压设备,进而,各个从发压设备可以基于第二压测指标向被测接口发送请求,以便对被测接口进行分散触发请求情况下的仿真压力测试。根据本专利技术的技术方案,通过在执行压测任务过程中动态调整预期tcp值和预期qps值,大大减少了重复操作的步骤,使得压测流程简单化,提高了压测效率,节省压测时间,且支持百万用户参加活动时同时在线的仿真场景,并能够形成集中触发请求和分散触发请求时服务器性能指标上下波动的仿真场景,进而实现对被测接口进行集中触发请求和分散触发请求情况下的仿真压力测试,满足用户在参与活动时集中流量与分散流量的仿真压测需求。此外,本专利技术基于主发压设备与各个从发压设备相配合实现分布式压测,能够保证压测任务的稳定正常进行。
14、上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
本文档来自技高网...【技术保护点】
1.一种仿真压力测试方法,在分布式压测系统中执行,用于对服务器的被测接口进行仿真压力测试,所述分布式压测系统包括主发压设备和多个从发压设备,所述方法包括:
2.如权利要求1所述的方法,其中,对所述被测接口进行集中触发请求情况下的仿真压力测试,包括:
3.如权利要求2所述的方法,其中,基于所述第一压测指标向所述被测接口发送请求,包括:
4.如权利要求1-3中任一项所述的方法,其中,分别对所述第一预期TCP值和所述第一预期QPS值进行动态调整,以得到第二预期TCP值和第二预期QPS值,包括:
5.如权利要求2-3中任一项所述的方法,其中,还包括:
6.如权利要求1-5中任一项所述的方法,其中,所述被测接口信息包括被测接口的URL;基于被测接口信息、对应集中触发请求的第一压测指标、压测脚本,创建对被测接口的压测任务,包括:
7.如权利要求1-6中任一项所述的方法,所述分布式压测系统中部署有测试工具,所述方法被配置为在所述测试工具中执行,所述测试工具适于基于ZeroMQ网络通讯库与负载生成器建立通信连接。
9.一种计算设备,包括:
10.一种计算机程序产品,包括计算机程序/指令,其中,所述计算机程序/指令被处理器执行时实现如权利要求1-7中任一项所述的方法。
...【技术特征摘要】
1.一种仿真压力测试方法,在分布式压测系统中执行,用于对服务器的被测接口进行仿真压力测试,所述分布式压测系统包括主发压设备和多个从发压设备,所述方法包括:
2.如权利要求1所述的方法,其中,对所述被测接口进行集中触发请求情况下的仿真压力测试,包括:
3.如权利要求2所述的方法,其中,基于所述第一压测指标向所述被测接口发送请求,包括:
4.如权利要求1-3中任一项所述的方法,其中,分别对所述第一预期tcp值和所述第一预期qps值进行动态调整,以得到第二预期tcp值和第二预期qps值,包括:
5.如权利要求2-3中任一项所述的方法,其中,还包括:
...【专利技术属性】
技术研发人员:刘恒,
申请(专利权)人:海南车智易通信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。