当前位置: 首页 > 专利查询>安徽大学专利>正文

一种微服务架构下中性能资源成本优化方法及系统技术方案

技术编号:37676710 阅读:15 留言:0更新日期:2023-05-26 04:41
本发明专利技术提供一种微服务架构下中性能资源成本优化方法及系统,方法包括:对微服务调用链路以及服务指标,据以识别获取请求链路中的关键路径,据以调优关键服务的配置参数;初始化配置参数并运行微服务系统;针对微服务系统,进行压力测试并收集压测系统性能指标;使用多目标调优算法生成新的配置方案,并变更应用至微服务系统;循环执行压力测试并收集系统性能指标及生成新的配置方案并变更应用到微服务系统的操作,直至循环的次数达到预置重复次数阈值,将最优配置应用于微服务系统,以作为后续执行配置方案。本发明专利技术进行性能指标与成本开销的多目标优化,对微服务资源配置参数和微服务自身软件参数协同调优,通过降维方案对配置参数进行降维处理。配置参数进行降维处理。配置参数进行降维处理。

【技术实现步骤摘要】
一种微服务架构下中性能资源成本优化方法及系统


[0001]本专利技术涉及微服务
,具体涉及一种微服务架构下中性能资源成本优化方法及系统。

技术介绍

[0002]随着微服务技术的发展,微服务(Microservices)的概念早已深入人心,越来越多的公司开始使用微服务架构来开发业务应用。O

Reilly 2020年的调研报告显示77%的用户已经使用微服务架构的开发模式,并且其中92%获得了成功经验。
[0003]容器是微服务架构的绝佳示例,现代云原生应用通常使用容器构建为微服务。借助容器良好的隔离,资源分配特性,能够为各服务分配相应资源以满足其性能需求。随着云基础设施的日益普及,开发者更加倾向于在云上部署基于微服务的应用程序,以利用云基础设施的弹性。
[0004]公布号为CN114924887A的现有专利技术专利申请文献《一种电力交易平台的微服务资源配置参数优化方法》,方法包括:获取实时的网络运行参数数据、平台系统运行参数数据以及微服务性能参数数据,分别对应地构造网络配置向量、系统感知向量以及微服务性能观测向量,输入预先训练的序列到序列模型seq2seq进行计算推理;根据seq2seq模型的输出,确定优化后的微服务资源配置参数,进而对电力交易平台进行微服务资源参数配置。seq2seq模型的训练样本为已知微服务资源配置向量的平台处理性能向量的连续时间序列数据,微服务资源配置参数包括CPU核数量、内存大小、带宽和实例数。在前述现有方案中,尽管公有云产品可被认为拥有无限的资源,但微服务应用程序在现实世界中的部署通常受到成本开销的限制。如何通过适当地分配给微服务有限的资源(如CPU使用时间,内存容量,微服务副本数量)以满足特定的性能目标是微服务领域重要的研究问题。
[0005]保证端到端服务质量的同时优化资源分配对云服务供应商和用户来说都是非常重要的课题。从云服务供应商的角度来说关系到公司利润与产品声誉,从用户角度来看优化资源分配关系到基础设施的持有成本与服务性能(如延迟)。公布号为CN111913800A的现有专利技术专利申请文献《基于L

ACO的云中微服务成本优化的资源分配方法》,包括:将整个组合服务的完成服务最后期限分配给每一个任务,计算每一个任务的概率向上秩,形成子最后期限;把概率向上秩作为蚁群中的启发式信息,进行迭代计算,迭代计算过程中信息素权重、启发式信息权重和信息素挥发率进行动态更新,根据迭代过程中的局部最优解来更新信息素轨迹;根据子最后期限,依次为每个任务的执行者,即服务实例选择满足其子最后期限的资源配置,找出成本优化的全局最优解。持有成本和服务性能之间需要根据情况做出相应的权衡,如前述现有技术中,通过缩减资源分配的方式降低持有成本,那么微服务响应延迟则可能会有所增加。由于保障服务性能通常比降低持有成本有着更高的优先级,常见的做法是过分配资源以保障服务性能。这种方式根据峰时负载所需资源数量进行分配,导致在大部分时间资源未得到充分的利用,对持有成本造成了负面影响。
[0006]此外,现有的调优技术方案还存在以下性能问题:
[0007](1)多目标优化问题:
[0008]对于微服务场景下的优化问题,现今大多数解决方法是在满足预置的持有成本约束前提下,以性能为优化目标进行单目标优化。或者将性能与成本多个优化目标形式化为performance/cost,再通过单目标优化算法进行优化。但是这种单目标优化的方式,忽略了多个目标之间本质上存在的竞争关系,难以正确地捕捉多个目标之间的权衡,由此在优化过程中可能会导致激进的探索行为进而获得次优的优化结果。持有成本与性能指标之间存在权衡需要进行多目标优化,现有技术中没有进行多目标优化。
[0009](2)软件参数与资源参数的协同优化问题:
[0010]现有方式通过对微服务容器占用的机器资源以及副本数进行调整来达到降本增效的目的。但是这种调优策略未对微服务自身所部署的软件加以考虑。微服务架构下通常会接入一个或多个数据库软件(如Redis、Mongodb等)以存储数据,同时可能部署Nginx作为服务前端进行流量治理。这些软件中存在大量可调节的参数,软件参数的调优对微服务系统整体降本增效也起着至关重要的作用。此外这些软件参数的调整与服务容器资源之间是存在着依赖性的,最佳的软件参数配置随分配给容器的资源大小变化而改变,比如Nginx通过worker_processes设置用于出来请求的工作线程数量,该参数的最优配置需要联合考虑分配给容器的CPU资源情况。所以需要对软件参数与资源参数进行协同优化。现有技术中没有对微服务的资源配置参数(如CPU的核心数量,内存大小,服务副本数量)和微服务本身的软件参数(如Redis、Mongodb、Nginx的配置参数)进行协同优化。
[0011](3)高维配置空间问题:
[0012]微服务架构下可能包含几十到几百个微服务。每个微服务都有多种类型的资源配置参数可供调节,如CPU的核心数量、服务副本数量、内存大小等。假设目前存在n个微服务,每个微服务有m个资源配置参数,那么微服务系统调优过程中的参数搜索空间为m
n
,可见参数搜索空间随着微服务的数量呈指数级增长,同时微服务系统中的软件参数也会影响系统调优效果,需要对资源配置参数与软件配置参数进行联合考虑,这又更进一步地加大了参数搜索空间,因此需要采用合理的方式进行降维处理,以解决高维搜索空间的问题。然而现有技术中,没有很好的对高维参数配置空间进行降维处理。
[0013]综上,现有技术未进行性能指标与成本开销的多目标优化,未对微服务资源配置参数和微服务自身软件参数协同调优,没有很好的对高维参数配置空间进行降维处理的技术问题。

技术实现思路

[0014]本专利技术所要解决的技术问题在于如何解决现有技术未进行性能指标与成本开销的多目标优化,未对微服务资源配置参数和微服务自身软件参数协同调优,没有很好的对高维参数配置空间进行降维处理的技术问题。
[0015]本专利技术是采用以下技术方案解决上述技术问题的:一种微服务架构下中性能资源成本优化方法包括:
[0016]S1、对微服务调用链路以及服务指标,据以识别获取请求链路中的关键路径,据以调优关键服务的配置参数;
[0017]S2、初始化配置参数并运行微服务系统;
[0018]S3、针对微服务系统,进行压力测试并收集压测系统性能指标,步骤S3包括:
[0019]S31、对处于运行状态的微服务系统进行压力测试,以得到压测系统性能指标;
[0020]S32、在发送网络请求数量达到预置上限阈值时,请求微服务调用链路覆盖微服务系统中的微服务;
[0021]S33、处理当前的微服务系统的配置方案的资源成本开销;
[0022]S4、使用多目标调优算法生成新的配置方案,并变更应用至微服务系统,其中,多目标调优算法包括:遗传算法,动态维度搜索算法、粒子群优化算法、贝叶斯优化算法,步骤S4包括:
[0023]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微服务架构下中性能资源成本优化方法,其特征在于,所述方法包括:S1、对微服务调用链路以及服务指标,据以识别获取所述请求链路中的关键路径,据以调优所述关键服务的配置参数;S2、初始化所述配置参数并运行微服务系统;S3、针对所述微服务系统,进行压力测试并收集压测系统性能指标,所述步骤S3包括:S31、对处于运行状态的所述微服务系统进行压力测试,以得到所述压测系统性能指标;S32、在发送网络请求数量达到预置上限阈值时,请求所述微服务调用链路覆盖所述微服务系统中的所述微服务;S33、处理当前的所述微服务系统的配置方案的资源成本开销;S4、使用多目标调优算法生成新的配置方案,并变更应用至微服务系统,其中,所述多目标调优算法包括:遗传算法,动态维度搜索算法、粒子群优化算法、贝叶斯优化算法,所述步骤S4包括:S41、利用所述遗传算法模仿自然选择,根据预置目标函数值选择一个候选解决方案子集;S42、进行突变操作以及交叉操作,随机改变特定参数配置和组合候选方案配置,据以产生新的候选方案,其中,所述遗传算法包括:NSGA
‑Ⅱ
算法;S43、将当前的配置方案作为所述NSGA

II算法的输入数据,在该所述配置方案下,将所述压测系统性能指标以及所述成本开销作为目标函数;S44、根据所述配置方案以及所述目标函数,产生新配置方案;S45、将所述新配置方案应用于所述微服务系统,以变更预置应用至所述微服务系统,使所述微服务系统在所述新配置方案下运行;S5、循环执行所述步骤S3及所述步骤S4,直至循环的次数达到预置重复次数阈值,将目前最优配置应用于微服务系统,以作为后续执行配置方案。2.根据权利要求1所述的一种微服务架构下中性能资源成本优化方法,其特征在于,所述步骤S1包括:S11、将所述关键路径上的微服务作为关键服务;S12、调优所述关键服务的所述配置参数。3.根据权利要求2所述的一种微服务架构下中性能资源成本优化方法,其特征在于,所述步骤S12中,通过调优所述配置参数。并降低所述关键服务的配置参数搜索空间。4.根据权利要求1所述的一种微服务架构下中性能资源成本优化方法,其特征在于,所述步骤S2中,通过获取用户信息,以联合优化所述关键服务的所述配置参数。。5.根据权利要求1所述的一种微服务架构下中性能资源成本优化方法,其特征在于,所述步骤S2中,所述配置参数包括:微服务系统硬件资源配置参数以及微服务系统软件配置参数。6.根据权利要求5所述的一种微服务架构下中性能资源成本优化方法,其特征在于,针对所述关键服务,设置所述硬件资源配置参数以及所述软件配置参数,据以控制所述关键服务的所述微服务系统运行。7.根据权利要求6所述的一种微服务架构下中性能资源成本优化方法,其特征在于,获
取预设软件的所述软件配置参数,其中,所述预设软件包括:Redis、Mongodb、Nginx。8.根据权利要求1所述的一种微服务架构下中性能资源成本优化方法,其特征在于,所述步骤...

【专利技术属性】
技术研发人员:窦晖贾成成张以文
申请(专利权)人:安徽大学
类型:发明
国别省市:

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

1