OCP上“OBproxy CPU使用率”是怎么算出来的

【 使用环境 】生产环境 or 测试环境

【 OB or 其他组件 】obproxy

【 使用版本 】v4.3.1;v4.3.6

【问题描述】

有负载的ODP,在OCP上有一个监控项叫“OBproxy CPU使用率”,我观察大部分都是长期维持在 60%~80%,但ODP所在的主机CPU使用率很低。

  1. 想确认该使用率的统计分母是什么,我理解分母应为“当前活跃线程数”,对不对?
  2. work_thread_num 是上限,应该没有全部使用,那“当前活跃线程数”怎么查?
    备注:OCP 可查看 ”obproxy线程数“,该数值等于 work_thread_num + 11,我理解并非实际“当前活跃线程数”
3 个赞

学习一下

不是有一个cpu_count参数么,跟物理机关系不大吧,主要是这个系统参数的问题

cpu_count是observer的, 我说的是ODP

@论坛小助手

问题 答案
CPU 使用率分母是什么? 1 个 CPU 核心 = 100%,不是活跃线程数
60%~80% 代表什么? 进程平均占用约 0.6~0.8 核
为何与主机 CPU 不矛盾? 多核主机上 0.7 核可能只占主机 ~1%
obproxy 线程数是什么? /proc 报告的总线程数,≈ work + 辅助线程
活跃线程数怎么查? OCP 无直接指标;用 SHOW PROXYSTAT 看活跃连接/事务,或用 pidstat -t 看 per-thread CPU