服务器压测方法技术

技术编号:39725683 阅读:66 留言:0更新日期:2023-12-17 23:30
本申请公开了一种服务器压测方法

【技术实现步骤摘要】
服务器压测方法、装置、电子设备及存储介质


[0001]本申请涉及压测
,尤其涉及一种服务器压测方法

装置

电子设备及存储介质


技术介绍

[0002]目前,在
ToC

(
面向终端用户或消费者
)
的应用高并发场景需要日益增多,为了保证开发人员对应用接口高并发相关指标有清晰的度量,需要有相应的压测工具对服务器的服务接口进行指标评估

目前常用的压测工具包括有
Apache Bench
以及
Jmeter
等,但是这些常规的压测工具通常是在本地部署运行,这种方式会使限制压测方的灵活度,使得传统的压测方式难以适应不同场景的测试需求


技术实现思路

[0003]本申请的主要目的在于提供一种服务器压测方法

装置

电子设备及存储介质,旨在解决传统的压测方式难以适应不同场景的测试需求的技术问题

[0004]为实现上述目的,本申请提供一种服务器压测方法,所述服务器通过部署在容器中不同
Pod
上的压力引擎进行压测,所述服务器压测方法包括:
[0005]在获取到压测任务后,根据压测任务生成压测计划;
[0006]通过预设
Channel
通道以及所述压测计划,向各目标压力引擎发送压测指令,以使各所述目标压力引擎接收到压测指令后进行服务器压力测试;
[0007]输出各所述压力引擎的压测结果

[0008]可选地,所述压测计划包括各所述目标压力引擎的压测内容,所述根据压测任务生成压测计划的步骤包括:
[0009]确定所述压测任务中的压测数据峰值量以及当前在线压力引擎;
[0010]若所述压测数据峰值量小于或等于所述当前在线压力引擎的总可负载量,则根据压测任务中的压测数据峰值量选取各所述目标压力引擎,并根据所述压测任务中的压测策略为各所述目标压力引擎分配压测内容;
[0011]若所述压测数据峰值量大于所述当前在线压力引擎的总可负载量,则申请上线新的压力引擎;
[0012]在所述新的压力引擎上线后,返回执行所述确定所述压测任务中的压测数据峰值量以及当前在线压力引擎的步骤,或执行所述根据压测任务中的压测数据峰值量选取各所述目标压力引擎,并根据所述压测任务中的压测策略为各所述目标压力引擎分配压测内容的步骤

[0013]可选地,所述压测策略包括按量压测

按时间压测以及并发量动态变化压测,所述根据所述压测任务中的压测策略为各所述目标压力引擎分配压测内容的步骤包括:
[0014]在所述压测策略为按量压测的情况下,根据所述压测任务的测试请求总量,生成每个所述目标压力引擎的子测试请求量,并将所述测试请求量作为所述压测内容;
[0015]在所述压测策略为按时间压测的情况下,将所述压测任务的压测时长和平均测试请求量作为所述压测内容;
[0016]在所述压测策略为并发量动态变化压测的情况下,则将所述压测任务的并发量变化规律作为所述压测内容,其中,并发量变化规律为并发测试请求量随时间变化的规律

[0017]可选地,所述通过预设
Channel
通道以及所述压测计划,向各目标压力引擎发送压测指令的步骤包括:
[0018]根据所述压测计划中各所述目标压力引擎的压测内容,为每个目标压力引擎生成所述压测指令;
[0019]通过所述预设
Channel
通道将各所述压测指令发送至对应目标压力引擎,以使目标压力引擎接收到压测指令后,基于压测指令从数据云端下载压测数据,并根据所述压测数据对所述服务器进行压测,其中,所述数据云端中的压测数据与所述压测任务匹配

[0020]可选地,所述服务器压测方法还包括:
[0021]当所述压力引擎存在更新时,将压力引擎更新内容发送至各容器,以使所述容器在接收到压力引擎更新内容后,同步更新内部的各压力引擎

[0022]可选地,在所述根据压测任务生成压测计划的步骤之前,所述方法包括:
[0023]按预设频率遍历任务库中的各待执行任务;
[0024]获取各所述待执行任务中执行时刻与当前时刻匹配的待执行任务作为所述压测任务;
[0025]将从所述任务库中将获取到的待执行任务变更为执行中的任务

[0026]可选地,在所述通过预设
Channel
通道以及所述压测计划,向各目标压力引擎发送压测指令的步骤之后,所述方法包括:
[0027]实时获取各所述压力引擎的压测结果,其中,所述压测结果至少包括错误率

响应时间以及测试请求并发量中的一种;
[0028]将所述压测结果与预设误率阈值

预设响应时间阈值或预设测试请求并发量阈值比较;
[0029]若所述压测结果中的错误率大于所述预设误率阈值

所述压测结果中的响应时间大于所述预设响应时间阈值或所述压测结果中的测试请求并发量大于所述预设测试请求并发量阈值,则停止各所述压力引擎对所述服务器进行压测

[0030]此外,为实现上述目的,本申请还提供一种服务器压测装置,所述服务器通过部署在容器中不同
Pod
上的压力引擎进行压测,所述服务器压测装置包括:
[0031]生成模块,用于在获取到压测任务后,根据压测任务生成压测计划;
[0032]发送模块,用于通过预设
Channel
通道以及所述压测计划,向各目标压力引擎发送压测指令,以使各所述目标压力引擎接收到压测指令后进行服务器压力测试;
[0033]输出模块,用于输出各所述压力引擎的压测结果

[0034]此外,为实现上述目的,本申请还提供一种电子设备,所述电子设备包括:存储器

处理器及存储在所述存储器上并可在所述处理器上运行的服务器压测程序,所述服务器压测程序被所述处理器执行时实现上述的服务器压测方法的步骤

[0035]此外,为实现上述目的,本申请还提供一种存储介质,所述可储介质上存储有服务器压测程序,所述服务器压测程序被处理器执行时实现如上述的服务器压测方法的步骤

[0036]本申请实施例提出的一种服务器压测方法

装置

电子设备及存储介质

在申请本实施例中,服务器通过部署在容器中不同
Pod
上的压力引擎进行压测,所述服务器压测方法包括:在获取到压测任务后,根据压测任务生成压测计划;通过预设
Channel
通道以及所述压测计划,向各目标压力引擎发送压测指令,以使各所述目标压力引擎接收到压测指令后本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种服务器压测方法,其特征在于,所述服务器通过部署在容器中不同
Pod
上的压力引擎进行压测,所述服务器压测方法包括:在获取到压测任务后,根据压测任务生成压测计划;通过预设
Channel
通道以及所述压测计划,向各目标压力引擎发送压测指令,以使各所述目标压力引擎接收到压测指令后进行服务器压力测试;输出各所述压力引擎的压测结果
。2.
如权利要求1所述的服务器压测方法,其特征在于,所述压测计划包括各所述目标压力引擎的压测内容,所述根据压测任务生成压测计划的步骤包括:确定所述压测任务中的压测数据峰值量以及当前在线压力引擎;若所述压测数据峰值量小于或等于所述当前在线压力引擎的总可负载量,则根据压测任务中的压测数据峰值量选取各所述目标压力引擎,并根据所述压测任务中的压测策略为各所述目标压力引擎分配压测内容;若所述压测数据峰值量大于所述当前在线压力引擎的总可负载量,则申请上线新的压力引擎;在所述新的压力引擎上线后,返回执行所述确定所述压测任务中的压测数据峰值量以及当前在线压力引擎的步骤,或执行所述根据压测任务中的压测数据峰值量选取各所述目标压力引擎,并根据所述压测任务中的压测策略为各所述目标压力引擎分配压测内容的步骤
。3.
如权利要求2所述的服务器压测方法,其特征在于,所述压测策略包括按量压测

按时间压测以及并发量动态变化压测,所述根据所述压测任务中的压测策略为各所述目标压力引擎分配压测内容的步骤包括:在所述压测策略为按量压测的情况下,根据所述压测任务的测试请求总量,生成每个所述目标压力引擎的子测试请求量,并将所述测试请求量作为所述压测内容;在所述压测策略为按时间压测的情况下,将所述压测任务的压测时长和平均测试请求量作为所述压测内容;在所述压测策略为并发量动态变化压测的情况下,则将所述压测任务的并发量变化规律作为所述压测内容,其中,并发量变化规律为并发测试请求量随时间变化的规律
。4.
如权利要求3所述的服务器压测方法,其特征在于,所述通过预设
Channel
通道以及所述压测计划,向各目标压力引擎发送压测指令的步骤包括:根据所述压测计划中各所述目标压力引擎的压测内容,为每个目标压力引擎生成所述压测指令;通过所述预设
Channel
通道将各所述压测指令发送至对应目标压力引擎,以使目标压力引擎接收到压测指令后,基于压测指令从数据云端下载压测数据,并根据所述压测数据对所述服务器进行压测,其中,...

【专利技术属性】
技术研发人员:文传勇
申请(专利权)人:招商银行股份有限公司
类型:发明
国别省市:

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

1