本文作者:kaifamei

一种基于压力测试的云资源利用率的自动化评价与优化方法与流程

更新时间:2025-12-21 20:29:05 0条评论

一种基于压力测试的云资源利用率的自动化评价与优化方法与流程



1.本发明专利涉及云计算资源调配领域,具体为一种基于压力测试的云资源利用率的自动化评价与优化方法。


背景技术:



2.随着云计算规模的不断扩张,其资源管理过程也变得更加复杂,从而产生资源浪费的情况。据flexera发布的2021年度云计算行业报告显示,使用云计算的组织存在着30%的成本浪费,其中一个重要的原因就是资源利用率过低。提高资源利用率可以有效节省企业运营成本,同时减少因空闲资源导致的能耗开销。如何合理管理和分配云资源,有效提高资源利用率已经成为当前研究需要面对和解决的主要挑战之一。
3.在规划上云时,系统的资源需求主要由业务人员根据系统的实际情况给出。正常情况下,资源需求情况应建立在系统测试的基础之上。但是,在实际工作过程中,由于种种原因,很多上云系统并没有进行完整的系统测试,因此其申请资源的依据不够客观,提出的资源需求也会存在虚高的情况,这是造成资源利用率不高的重要原因。
4.压力测试是最常见的上云之前的系统测试,它可以模拟业务高峰,自动化调用业务接口,并查看性能指标是否满足业务的性能需求,以及云资源利用率评价标准。因此,对于已部署上云的业务进行自动化压力测试可有效评价资源配置的合理性,自动化配置优化方法可以提高资源配置的合理性,为充分利用云资源利用率,为企业节省云计算投入成本具有重要的意义。
5.发明专利内容
6.本发明专利提供了一种基于压力测试的云计算资源配置评价与优化方法,用以解决现有上云业务中资源利用率不高的技术问题。
7.第一方面,本专利提供了一种面向上云业务的压力测试描述语言,该语言提供了上云业务进行压力测试时需要的必要信息。主要包括业务组件部署信息、典型业务场景的接口信息、典型业务场景的性能需求。
8.组件部署信息主要包括组件类型,组件所涉节点的ip地址,访问用户名和密码等;业务场景的接口信息主要包括场景名称,接口名称,访问地址,请求头部,请求体等;业务场景的性能需求主要包括每分钟并发请求数,预期吞吐量,预期响应时间等。
9.第二方面,本专利提供了一种基于压力测试的云资源利用率评价与优化方法。
10.根据用户提供的压力测试描述,自动化发起压力测试。
11.测试过程中收集各组件的利用率数据和其他性能数据。
12.测试结束后,根据性能评估模型判定业务组件配置是否满足评价标准。评估模型为ηuminm×n≤um×n≤εumaxm×n。
13.如果不满足评价标准,提供资源配置调整方案,然后重新进行上述过程,直到满足评价标准为止。优化模型可描述为
14.第三方面,本专利提供了一种基于压力测试的资源调配装置,该装置包括:
15.压力测试描述模块,用于接受用户的压力测试请求,并将用户的请求转换为指定的描述语言,并进一步将描述信息解析为系统格式的配置。
16.压力测试执行模块,用于根据压力测试配置信息启动测试,结束测试,测试过程中的异常处理。
17.压力测试监控模块,用于收集测试过程中各组件的资源利用率及压力测试的性能数据。
18.性能评估模块,对收集的数据进行分析,评估业务的性能是否满足评价标准。
19.配置优化模块,若性能评估结果不能满足时,计算各业务云组件的配置优化方案,并根据此方案调整组件配置。
20.本专利提供的资源调配方法与现有技术相比具有如下优点:现有的业务规划上云时,使用的方法过于主观,即使采用包含linpack在内的服务器性能评测体系规划资源,得到的资源配置也是基于经验值获取的,在实际运行时,不一定能够得到预期的性能表现。本方法针对云计算平台常见的组件,制定了不同的利用率评价标准,这是现有的技术所没有的。本方法具有一定的灵活性,在性能评估和优化时,都给出了相应的调整率范围,使得在实际使用中,根据业务和云平台的实际情况进行相应的调整。
附图说明
21.图1为基于压力测试的资源使用率评估与优化方法的流程示意图;
22.图2为基于压力测试的资源使用率评估与优化方法的压力测试描述语言语法示意图;
23.图3为基于压力测试的资源使用率评估与优化方法的装置结构示意图;
24.图4为基于压力测试的资源使用率评估与优化方法的部署示意图;
具体实施方式
25.为使本专利的目的、技术方案和优点更加清楚,下面将结合本专利中的附图,对本专利中的技术方案进行清楚、完整地描述。显然,此处描述的实施例是本专利的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利保护的范围。
26.为便于对本发明实施例的理解,下面将结合附图以具体的实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
27.图1展示了本发明实施例提供的一种基于压力测试评价与优化云资源利用率的具体执行过程。
28.步骤110,接收用户提交的业务描述。业务描述基于压力测试语言,主要包括云资源描述、典型业务场景接口描述、性能需求。业务描述中的数据将为后续压力测试的执行与性能分析提供参数支持。
29.在一个示例中,通过接收到的业务描述中的场景接口数据发起并控制压力测试的生命周期和参数,或者通过业务描述中的场景性能数据作为评价测试是否成功的依据。
30.步骤120,前述接收的业务描述信息将被进一步进行组合转换为压力测试执行框
架所需要的配置信息,随后根据这些配置信息依次发起压力测试。
31.压力测试执行之前,业务各组件应处于部署就绪状态,压力测试过程中不允许外部的业务访问。压力测试按场景进行组织,每个场景中的并发线程数和压测时长均取决于该场景性能数据。第一个场景在执行前,各业务组件应进行快照操作。每个场景执行后,均应执行恢复快照操作。
32.在一个示例中,业务描述信息中的某个场景可能包含多个接口,对该场景进行压测时,应确保按顺序依次进行接口的测试。各接口间可能存在关联,最典型的情形为前一个接口返回的数据将被用在下一个接口的请求体。
33.步骤130,在压测执行的过程中,需要实时对业务各组件的利用率进行监控。同时,还需要收集本次压力测试的性能数据。一般地,云组件的利用率数据主要包括cpu,内存,硬盘,网络等的利用率;压力测试的性能数据主要包括吞吐量,响应时间,错误率,处理总请求数等。
34.在一个示例中,需要考虑压力测试的启动和冷却时间。在压力测试启动时,上一步骤会根据并发用户数开出大量线程然后根据接口描述发出请求,这一过程需要花费一定时间。同样,在结束压力测试时,回收这些线程资源也需要花费一定时间。为了消除前一次压力测试带来的影响,下一个场景的压力测试应在等待一定时间后再启动。
35.步骤140,当所有场景的压力测试都完成后,基于性能评估模型对收集的数据进行评估分析。具体地,性能评估模型为ηuminm×n≤um×n≤εumaxm×n。um×n为资源利用率矩阵,m表示分配给业务的组件实例个数,n表示利用率指标数量,主要包括cpu利用率,内存利用率,硬盘利用率。umaxm×n和uminm×n表示评价标准下限矩阵和上限矩阵,其元素值所代表语义与um×n相同。η和ε表示比例系数。当ηumin》u时,表示当前组件配置需要减容,当u》εumax时,表示当前组件配置需要扩容。
36.在一个示例中,基于给定的资源利用率评价标准,上述模型将给出当前配置是否合理的结论。如果合理,则整个方法结束,如果不合理,继续执行步骤150。需要指出的是,有关压力测试过程中执行的实际性能指标是否满足业务预期也需要同时反馈给业务侧。
37.步骤150,基于资源优化模型对当前的业务组件配置进一步优化,对当前的业务组件配置进行更新,然后重新执行步骤120。具体地,资源优化模型可表示为利用率变更矩阵αj表示各资源变更调节率,u
ij
和ue
ij
表示各组件实例资源实际利用率和预期利用率,预期利用率取自umin或umax。根据δ矩阵可计算规格变更量。
38.在一个示例中,对于各组件的配置变更,可取所有场景中利用率变更矩阵的对应指标的最大值。更新后的配置应考虑对应组件现有的规格,当变更量中的cpu,内存,硬盘的新配置不能直接对应现有规格时,应考虑使用特定算法就近选取合适的规格。
39.图2为基于压力测试的云资源使用率的自动化评测与优化方法的装置示意图。
40.压力测试描述模块201,用于接受用户的压力测试请求,并将用户的请求转换为指定的描述语言,并进一步将描述信息解析为系统格式的配置。
41.压力测试执行模块202,用于根据压力测试配置信息启动测试,结束测试,测试过程中的异常处理。
42.压力测试监控模块203,用于收集测试过程中各组件的资源利用率及压力测试的
性能数据。
43.性能评估模块204,对收集的数据进行分析,评估业务的性能是否满足评价标准。
44.配置优化模块205,若性能评估结果不能满足时,计算各业务云组件的配置优化方案,并根据此方案调整组件配置。
45.图3为压力测试描述语言的语法示意图。压力测试描述语言用于帮助业务侧填写业务的组件和压测场景信息等。
46.该语言的语法如规则system所示。它主要包括三部分,其中application用于提供系统信息,services用于描述系统组件信息,每个系统至少包含一个组件,scenarios用于描述系统压力测试的场景信息,每个系统至少包含一个场景。
47.系统信息主要包含系统基本信息appinfo,以及全局性能信息perf。性能信息包含系统在高峰期的用户数users,高峰期持续时长duration,单位为分钟,每个用户在高峰期内平均每分钟发送的请求数requests,以及每个请求所包含的事务数trans。全局性能描述对所有组件都生效。
48.系统包含的组件由规则service描述,其主要包括组件的基本信息,主要包括组件名称,组件资源类型。组件可分为业务组件与数据组件两种类型。业务组件表示包含业务逻辑的组件,如系统的前端或后端。数据组件主要为系统提供数据读写服务,如数据库或消息队列等。组件的资源类型大致可分为弹性云服务器ecs,数据库服务器,如关系型数据库rds,云容器引擎cce,裸金属服务器bms,其他服务如消息服务或分布式缓存服redis等。
49.系统包含的场景由规则scenarios描述,其主要包括测试基本信息scenarioinfo、接口数据api、性能数据。一个场景可以有多个接口。scenarioinfo主要包含场景名称和描述等。接口数据,如最常用的restful api采用的是http协议,其必要的接口信息包括请求方法,请求头,请求体等。性能信息perf与前述相同。
50.在一个示例中,某业务的全局性能描述说明其业务高峰期的用户数为100,高峰期持续时间为60分钟,其对应的云资源类型为ecs。系统包含一个场景,场景只包含一个接口,类型为restful,请求路径为/,请求方法为get。其对应的业务描述为:
51.application:
52.name:test application
53.users:100
54.duration:60
55.requests:10
56.trans:1
57.services:
[0058]-name:nginx
[0059]
type:ecs
[0060]
scenarios:
[0061]-scenario:
[0062]-name:test api
[0063]
url:/
[0064]
method:get
[0065]
图4展示的是本专利一种参考部署架构,借助此图阐述本发明的实现细节。如图所示,测试侧表示本发明涵盖的部件,业务侧为目标业务部署在云上的资源集。测试侧部件包含两部分,即评价服务器和压测服务。业务侧的组件随业务具体的部署而不同,此图中显示的云服务器,云数据库和云容器是最常见的三种云组件。
[0066]
评价服务器为用户提供良好的前端交互界面以帮助用户完成业务描述信息的填写。在接收到用户提交的请求后,服务器会将其转化为符合业务描述语言语法规则的业务描述信息。
[0067]
评价服务器会根据业务描述信息通知压测试服务执行压力测试。设置压测服务器的原因是为了保证压力测试环境的纯净,避免其他进程对测试造成干扰。压力测试的结果会在线程组执行结束后进行保存到数据库中。同时,在压测期间,业务各组件的实时监控数据也会保存在数据库中。整个压力测试结束后,评价服务器会进行性能分析,若分析结果不满足资源评价标准,将调用配置优化模块更新配置。

技术特征:


1.一种基于压力测试的云资源使用率的自动化评测与优化方法,其特征在于,所述方法包括:使用压力测试描述语言对已部署上云业务进行描述,主要包括业务使用的云组件信息,业务典型场景的接口信息及性能需求;基于所述业务描述信息,压力服务器发起对目标业务的压力测试;基于性能评估模型,持续收集模型所需的各项数据,主要包括所涉云组件的资源利用率数据与压力测试产生的性能数据;基于所述性能评估模型,对业务的组件配置的合理性进行评价;若组件配置不满足评价标准,生成相应的组件配置优化方案。2.根据权利要求1所述的方法,其特征在于,关于压力测试,所述方法还包括:压力测试结束之前,目标业务处于就绪待测状态,不能交付给用户使用,亦不能有数据产生;第一个业务场景开始测试前,所有业务组件需进行初始化快照,每个场景的测试结束后,应使用快照进行恢复。3.根据权利要求1所述的方法,其特征在于,压力测试描述语言的具体信息包括:业务组件部署信息:主要包括组件类型,组件所涉节点的ip地址,访问用户名和密码;业务典型场景的接口信息:包括场景名称,接口名称,访问地址,请求头部,请求体;业务典型场景的性能需求:包括每分钟并发请求数,每请求预期吞吐量,每请求预期响应时间。4.根据权利要求1所述的方法,其特征在于,其性能评估模型可描述为:对于业务每个典型业务场景,其性能应满足ηumin
m
×
n
≤u
m
×
n
≤εumax
m
×
n
。,u
m
×
n
为资源利用率矩阵,m表示分配给业务的组件实例个数,n表示利用率指标数量,主要包括cpu利用率,内存利用率,硬盘利用率,umax
m
×
n
。和umin
m
×
n
表示评价标准下限矩阵和上限矩阵,其元素值所代表语义与u
m
×
n
相同,η和ε表示比例系数,当ηumin>u时,表示当前组件配置需要减容,当u>ηumax。时,表示当前组件配置需要扩容,当资源配置满足评价标准时,最终报告还应包括压力测试过程中收集的压力测试相关的指标供业务参考,包括吞吐量,响应时间,并发请求数,错误率。5.根据权利要求1所述的方法,其特征在于,其组件优化方案的生成策略为:利用率变更矩阵为α
j
表示各资源变更调节率,u
ij
和表示各组件实例资源实际利用率和预期利用率,预期利用率取自umin或umax。根据δ矩阵可计算规格变更量,在确定配置变更量时,更新后的配置应考虑对应组件现有的规格,当变更量中的cpu,内存,硬盘的新配置不能直接对应现有规格时,应考虑使用特定算法就近选取合适的规格,生成优化方案后,根据优化方案中的规格变更量实施规格变更,变更后需重新执行压力测试,并重复性能评估与优化过程。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取云资源利用率数据和实施组件规格变更需要调用云平台相关的接口或sdk,具体的云平台接口各有不同。7.根据权利要求1所述的方法,其特征在于:关于压力测试描述语言,场景中的接口信息不只局限于常见的http接口,其他的接口调用亦在本语言的涵盖的范围之内,需要注明的是,当接口的协议发生变化时,对应的接口描述也需要随之变化。8.根据权利要求1所述的方法,其特征在于,其包含的装置有:压力测试描述模块,用于接受用户的压力测试请求,并将用户的请求转换为指定的描述语言,并进一步将描述信息解析为系统格式的配置;压力测试执行模块,用于根据压力测试配置信息启动测试,结束测试,测试过程中的异常处理;压力测试监控模块,用于收集测试过程中各组件的资源利用率及压力测试的性能数据;性能评估模块,对收集的数据进行分析,评估业务的性能是否满足
评价标准;配置优化模块,若性能评估结果不能满足时,计算各业务云组件的配置优化方案,并根据此方案调整组件配置。

技术总结


本发明涉及一种基于压力测试的云资源使用率的自动化评测与优化方法,属于云资源调配技术领域。方法包括:使用压力测试描述语言对已部署云上业务进行描述,主要包括云资源描述、典型业务场景接口描述、性能需求等;根据描述语言自动化生成压力测试代码并发起压力测试;在压力测试的过程中使用云平台提供的接口对各组件的性能进行监控,获取包含CPU利用率等在内的监控指标;压力测试结束后,对收集到的监控数据与测试数据进行综合分析,按照云资源利用率评价标准给出云资源配置是否合理的描述;如果没有达到根据资源优化模型计算组件配置调整方案并完成自动化调整;重复上述过程,直到业务所有组件的资源利用率满足评价标准为止。准为止。准为止。


技术研发人员:

李振振 陈雪振 周佳禾 王晋瑶 张荣杰 党宏 刘梦琪 冯学民 闫波 王凯

受保护的技术使用者:

国家电网有限公司 国网天津市电力公司信息通信公司

技术研发日:

2022.10.24

技术公布日:

2023/1/17


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-84824-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2023-01-28 15:05:11

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论