一种Tomcat容器的业务容量评估方法和系统技术方案

技术编号:32670714 阅读:19 留言:0更新日期:2022-03-17 11:25
本发明专利技术公开了一种Tomcat容器的业务容量评估方法和系统,属于计算机技术领域,所述方法包括:基于eBPF探针,获取Tomcat容器执行网址的信息,所述信息包括执行开始时间和结束时间;根据所述执行开始时间和结束时间,获得所述网址的执行时间;获取执行所述网址的读写开销;根据所述读写开销和执行时间,评估系统资源的业务容量。基于eBPF探针,获取执行网址的信息,获得执行网址真实系统开销,计算出业务容量,评估方法简便易行;利于实时评估业务容量,对业务系统的稳定运行提供数据基础;对业务系统的弹性伸缩、业务运行状态的告警提供数据支撑。据支撑。据支撑。

【技术实现步骤摘要】
一种Tomcat容器的业务容量评估方法和系统


[0001]本专利技术涉及计算机
,具体涉及一种Tomcat容器的业务容量评估方法和系统。

技术介绍

[0002]容量是指系统处于最大负载状态或某项指标达到最大阈值下对请求的最大处理能力,如CPU、IO、内存等指标。业务由一系列的业务系统来提供服务,每个业务系统部署在不同的设备上。随着业务的发展,特别是在大促营销等活动场景下(比如双11等),给定业务使用量的情况下,需要为每个业务系统准备多少设备或设备资源是一大难题。容量规划正是为解决这个难题而诞生,其中,容量评估的目的在于清晰地知道每一个业务系统:业务请求的承载量、最大资源配备量和最佳的资源配置备。
[0003]目前,业务容量评估的具有以下两种方法。方法一:根据算法拟合用户请求量和资源的关系,对将来的业务请求量进行预测,但预测值容易出现不准确的现象,预测值仅可作为参考值。方法二:通过全链路压测找到每个系统实际能够承载量。全链路压测一般指完全引入相关联的系统真实使用线上硬件环境,以模拟真实请求为核心,完全模拟真实请求流量,通过引流等方式进行场景的模拟进行压测,在不停加压模拟业务大规模的访问情况,最终模拟得到资源的使用量。方法二根据生产环境实际得到容量承载量,数据较准备,但需要生产环境的硬件支撑,成本较高,具有生产环境出现故障的风险。

技术实现思路

[0004]针对现有技术中存在的上述技术问题,本专利技术提供一种Tomcat容器的业务容量评估方法和系统,对业务系统的容量进行评估,利于容量规划。<br/>[0005]本专利技术公开了一种Tomcat容器的业务容量评估方法,所述方法包括:基于eBPF探针,获取Tomcat容器执行网址的信息,所述信息包括执行开始时间和结束时间;根据所述执行开始时间和结束时间,获得所述网址的执行时间;获取执行所述网址的读写开销;根据所述读写开销和执行时间,评估系统资源的业务容量。
[0006]优选的,包括多个网址,
[0007]分别获取每个网址的执行开销,所述执行开销包括读写开销和平均执行时间;
[0008]根据每个网址的读写开销和平均执行时间,评估系统资源的业务容量。
[0009]优选的,根据以下公式评估业务容量:
[0010][0011]C≤ω1×
S
[0012]其中,C表示为执行开销,T
i
表示为网址i的执行时间,IOT
i
表示为网址i的读写开销,K表示为网址i的执行量,n表示为网址的总量,ω1表示为系统资源占用比,S表示为系统
资源。
[0013]优选的,所述信息还包括上下文切换时间,
[0014]根据执行开始时间、结束时间和上下文切换时间,获得所述网址的执行时间:
[0015]T
i
=cpu_end_timestamp

cpu_start_timestamp

switch_time
[0016]其中,T
i
表示为网址i的执行时间,cpu_end_timestamp表示为执行结束时间,cpu_start_timestamp表示为执行开始时间,switch_time表示为切换时间。
[0017]优选的,通过eBPF探针拦截read函数,获得执行开始时间;拦截write函数,获得执行结束时间;拦截sched_switch函数获得上下文切换时间。
[0018]优选的,计算平均执行时间的方法包括:
[0019]步骤301:根据所述网址的响应时间,预设多个时长桶;
[0020]步骤302:将网址的执行时间依次分配到相应的时长桶内;
[0021]步骤303:判断前j个时长桶的分配比之和是否大于第二域值,其中j为正整数;
[0022]若是,执行步骤304:将第j个时长桶内数据的平均值,作为平均执行时间。
[0023]优选的,获取执行所述网址的读写开销的方法包括:
[0024]模拟发送第一数据,获得第一数据的读写开销;
[0025]根据第一数据的大小,计算单位读写开销;
[0026]根据网址的读写数据量,计算所述网址的读写开销。
[0027]本专利技术还提供一种用于实现上述方法的系统,包括:
[0028]探测模块、读写开销计算模块和评估模块,
[0029]所述探测模块基于eBPF探针,获取Tomcat容器执行网址的信息,所述信息包括执行开始时间和结束时间;
[0030]所述读写开销计算模块用于获取执行所述网址的读写开销;
[0031]所述评估模块用于根据所述读写开销和执行时间,评估系统资源的业务容量。
[0032]优选的,所述探测模块还用于根据上下文切换时间,获取网址的执行时间;根据所述网址的执行时间,计算所述网址平均执行时间;
[0033]所述读写开销计算模块用于模拟发送第一数据,获得第一数据的读写开销;根据第一数据的大小,计算单位读写开销;根据网址的读写数据量,计算所述网址的读写开销;
[0034]所述评估模块还用于获取多个网址的执行开销,所述执行开销包括读写开销和平均执行时间;根据每个网址的读写开销和平均执行时间,评估系统资源的业务容量。
[0035]优选的,所述系统还包括弹性伸缩模块或告警模块,
[0036]所述评估模块还用于计算系统资源占用比;
[0037]判断所述系统资源占用比是否大于第一域值;
[0038]若是,通过所述弹性伸缩模块调节系统资源,或通过所述告警模块用于向管理人员发送告警信息。
[0039]与现有技术相比,本专利技术的有益效果为:基于eBPF探针,获取执行网址的信息,获得执行网址真实系统开销,计算出业务容量,评估方法简便易行;利于实时评估业务容量,对业务系统的稳定运行提供数据基础;对业务系统的弹性伸缩、业务运行状态的告警提供数据支撑。
附图说明
[0040]图1是本专利技术的Tomcat容器的业务容量评估方法流程图;
[0041]图2是本专利技术的系统逻辑框图。
具体实施方式
[0042]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0043]下面结合附图对本专利技术做进一步的详细描述:
[0044]一种Tomcat容器的业务容量评估方法,如图1所示,所述方法包括:
[0045]步骤101:基于eBPF探针,获取Tomcat容器执行网址(url)的信息,所述信息包括执行开始时间和结束时间。例如,通过eBPF探针拦截read函数,获得执行开始时间;拦截write函数,获得执行结束时间。
[0046本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Tomcat容器的业务容量评估方法,其特征在于,所述方法包括:基于eBPF探针,获取Tomcat容器执行网址的信息,所述信息包括执行开始时间和结束时间;根据所述执行开始时间和结束时间,获得所述网址的执行时间;获取执行所述网址的读写开销;根据所述读写开销和执行时间,评估系统资源的业务容量。2.根据权利要求1所述的业务容量评估方法,其特征在于,包括多个网址,分别获取每个网址的执行开销,所述执行开销包括读写开销和平均执行时间;根据每个网址的读写开销和平均执行时间,评估系统资源的业务容量。3.根据权利要求2所述的业务容量评估方法,其特征在于,根据以下公式评估业务容量:C≤ω1×
S其中,C表示为执行开销,T
i
表示为网址i的执行时间,IOT
i
表示为网址i的读写开销,K表示为网址i的执行量,n表示为网址的总量,ω1表示为系统资源占用比,S表示为系统资源。4.根据权利要求1所述的业务容量评估方法,其特征在于,所述信息还包括上下文切换时间,根据执行开始时间、结束时间和上下文切换时间,获得所述网址的执行时间:T
i
=cpu_end_timestamp

cpu_start_timestamp

switch_time其中,T
i
表示为网址i的执行时间,cpu_end_timestamp表示为执行结束时间,cpu_start_timestamp表示为执行开始时间,switch_time表示为切换时间。5.根据权利要求4所述的业务容量评估方法,其特征在于,通过eBPF探针拦截read函数,获得执行开始时间;拦截write函数,获得执行结束时间;拦截sched_switch函数获得上下文切换时间。6.根据权利要求4所述的业务容量评估...

【专利技术属性】
技术研发人员:苌程王大鑫蔡敏伟才振功
申请(专利权)人:杭州谐云科技有限公司
类型:发明
国别省市:

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

1