TKE容器宿主机CPU利用率过低问题的解决方法

背景

由于中美两国在近几年竞争加剧,导致很多信息化项目纷纷将组件国产化,例如用腾讯的TKE替代过去的dockers来部署系统。由于云管理那边根本不提供TKE容器宿主机的直接登陆方式,只能通过跳板机上管理网站来部署系统,导致很多操作没法做,比如直接丢压力测试脚本上服务器运行的操作就无法做得到。
而有的政务云会强制要求整体的CPU和内存利用率在某个水平范围内,过低会被通报整改,过高也会被通报整改,所以非常的蛋疼。在前后折磨了2个月后(谁让我不是专业的测试人员呢,加之2023年末降本增笑,想找人帮忙非常难),终于摸索出一套方法。

主要思路

利用TKE的定时任务功能+压力测试脚本,每隔固定时间重复跑一次压力测试脚本,即可将CPU利用率提上去。

主要材料

将压力测试脚本打包为后端包,后文称X包,并上传至TKE。

方法

1.建两个定时任务,一个触发时间间隔较长,比如每5分钟触发一次,后续称A任务,另一个触发时间间隔较短,比如每2分钟触发一次,后续称B任务。

2.两个任务是并行跑的,但循环触发时间不同,避免两个任务同时触发导致瞬时CPU申请过多,任务启动失败。

3.同一个任务不并行,比如A0为第一个5分钟启动的A任务,A1为第二个5分钟启动的A任务,每次都是先关闭A0再启动A1,即启动新A前关闭老A,这里是避免CPU资源未能及时释放,导致资源不足,任务启动失败。这里虽然可以在启动参数里设置timeout来避免,但有可能造成A0关闭,但A1还未启动,从而形成CPU利用率的谷,导致最终利用率数据不好看。

4.每个任务不要将分配的资源全跑完,例如,给A任务分配20核CPU,尽量只跑16-18核左右,具体按实际调整,因为跑满有可能会OOM导致任务失败,同时还会触发云管理的警报(对,你没听错,单个包跑太满也会被警告整改,真的狗-_-)。

5.每个任务CPU核分配具体需要看你的容器宿主机的总核数,一般120核左右的容器宿主机,一个任务分配20核左右,跑起来CPU利用会在5%-12%之间震荡。具体实践发现,给任务分配超过20核,启动后实用也超过20核的情况下,任务跑起来后,脚本运行实例容易报资源不足的错而导致容器实例被挂起,暂时不知道是什么原因。

结果

如果定时任务调整没问题,等两个任务交叉火力稳定后,CPU利用率会被拉上来。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值