监控 Threads_running

【 使用环境 】生产环境
【 OB or 其他组件 】OceanBase_CE 4.1.0.0
【 使用版本 】OceanBase_CE 4.1.0.0
【问题描述】

gv$sysstat中没有能够监控Threads_runnings的项吗,现在只有一个active_sessions? 感觉这个挺重要的, 建议加进去

【复现路径】问题出现前后相关操作
【问题现象及影响】

【附件】

你的问题我们已经收到 稍后会有回复

mysql是单机型数据库,一个会话对应一个线程,即活跃线程数等于活跃会话数。而observer是分布式的,一个活跃会话可能会创建很多线程,还会有rpc调用等,即与会话数不是强对应关系。所以直接拿thread_running来对比意义不大。

并不关注threads_running和active_session否是一对一的对应关系。 再说ob也有非分布式的部署,我这里就是物理主备。
gv$sys_stat中的监控项也是以租户和主机去分组的,直接去显示某一个主机的threads_running,感觉跟分布式也没啥关系

active_session表示的会话数量,可能很多都是sleep状态。
mysql中threads_running表示并发的连接数量,即不在休眠状态的线程数量。 如果此指标大增, 大概率数据库被阻塞了。
而acctive_session明显没有这个功能。 所以提议把这个监控项加进去 只表示本机并发的线程, 或者现在有跟这个指标相似的监控项吗?

1、选择对应租户 ——点击“性能监控” —— 选择“租户线程使用率” —— “下钻分析”,这样就可以看到租户对应的
线程使用情况。当监控线程数的过大时候,您还可以在此页面点击“前往主机性能监控”界面,结合主机的IO负载、CPU、内存负载情况,一起分析问题原因较为准确。


嗯,是这个问题。 ocp里面的租户线程使用率是怎么计算出来的? 只根据gv$sysstat能计算出吗?

如果你想看是不是阻塞了,那__all_virtual_dump_tenant_info就行,里面有请求积压数量。

ocp的大部分数据都是从sysstat拿的,具体到租户线程使用率就是name = ‘cpu usage’,表示最近一个周期租户工作线程中有请求的时间占比。