首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【YashanDB 知识库】YCM 上 CPU 负载超过实际核数是怎么回事

【YashanDB 知识库】YCM 上 CPU 负载超过实际核数是怎么回事

原创
作者头像
用户10349277
发布2025-02-27 14:56:26
发布2025-02-27 14:56:26
2410
举报
文章被收录于专栏:YashanDB知识库YashanDB知识库

问题现象

客户的实际服务器是 128 核,在做压测的过程,YCM 显示 CPU 使用率峰值是 80,但是 CPU 平均负载峰值是 200,超过了实际硬件的 CPU 核数。

问题的风险及影响

普通疑问,对业务无影响,对客户做压力结果评估有影响。

问题影响的版本

YashanDB 版本:所有版本

问题发生原因

在没接触这个概念的之前的理解应该是这样:比如有 128 核,压测时用到 60 核,CPU 使用率应该时 60/128,CPU 负载应该时 60 个 CPU 核。但是业界通用的负载计算不是这样的!

1、什么是 CPU 平均负载

负载是指一个服务器的压力情况。

平均负载是指单位时间内,处在可执行状态和不可中断睡眠状态的进程的平均数。也就是说,它包括了处在执行态,阻塞态和就绪态的进程。可以参考:

https://zhuanlan.zhihu.com/p/384468564#:~:text=%E5%B9%B3%E5%9D%87%E8%B4%9F%E8%BD%BD%E5%92%8CCPU%E4%BD%BF%E7%94%A8

2、崖山 YCM 上的 CPU 负载参考业界同样做法

崖山监控平台上 CPU 平均负载是参照业界标准实现的,会出现高于实际 CPU 核数的情况。这是正常的。

实际测的情况,是和启动多少并发/线程相关,多少 session/worker。如果每个并发有 db 的一个链接,业务启动的并发多,意味着 db 的压力大,等待时间多,负载就大。

解决方法及规避方式

负载是反应一个服务器的压力情况,总的来说,崖山的做法是业界标准的做法,并不是问题。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档