dump_info分析

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


图中红框中的三个名词的值都是如何计算出来的,之间有啥联系,且为啥我导出来的dump日志和官网给出的好多名词都对不上,“https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218963”这是官网链接

1 个赞

使用的版本太旧了吧,好多参数在不同版本之间都有变动

@论坛小助手

根据文档库中的信息,以下是对您问题的详细解答:

1. dump tenant info 中的关键名词解释及计算方式

dump tenant info 的日志中,以下是几个关键字段及其含义和计算方式:

a) unit_min_cpuunit_max_cpu

  • 定义:这两个字段表示租户的最小和最大 CPU 配额。
  • 计算方式
    • 根据您的日志内容,unit_min_cpuunit_max_cpu 均为 20(即 20 个 CPU 核心)。
    • 这两个值通常由管理员在创建或修改租户时通过资源池配置设定。

b) total_worker_cnt

  • 定义:表示当前租户分配到的总线程数。
  • 计算方式
    • 根据公式:
      total_worker_cnt = 分配给该租户的实际 CPU 数 * cpu_quota_concurrency
      
      其中,cpu_quota_concurrency 是一个系统参数,默认值为 17(社区版)。如果实际分配给租户的 CPU 数为 20,则:
      total_worker_cnt = 20 * 17 = 340
      
      您的日志中显示 total_worker_cnt344,可能是因为动态负载调整导致的微小偏差。

c) recv_mysql_cnt 等 RPC 计数器

  • 定义
    • recv_hp_rpc_cnt:高优先级 RPC 请求的接收次数。
    • recv_np_rpc_cnt:普通优先级 RPC 请求的接收次数。
    • recv_lp_rpc_cnt:低优先级 RPC 请求的接收次数。
    • recv_mysql_cnt:MySQL 协议请求的接收次数。
  • 计算方式
    • 这些计数器是实时统计的,记录了从租户启动以来接收到的各种类型请求的总数。

2. 这些字段之间的联系

  • CPU 和线程的关系
    • total_worker_cnt 是基于 unit_min_cpuunit_max_cpu 动态计算得出的。当租户的实际 CPU 使用量发生变化时,total_worker_cnt 也会随之调整。
  • RPC 和 MySQL 请求的关系
    • recv_mysql_cnt 是用户通过 MySQL 协议发起的请求总数,而 recv_hp_rpc_cntrecv_np_rpc_cntrecv_lp_rpc_cnt 则是内部 RPC 请求的分类统计。两者之间没有直接的数学关系,但可以用来分析租户的工作负载分布。

3. 为什么导出的 dump 日志与官网描述不一致

  • 原因分析
    • 官网文档中的字段可能是更高版本或企业版特有的功能,而您使用的是社区版 4.2.1,部分字段可能未被支持。
    • 不同场景下,dump tenant info 的输出内容会有所不同。例如,某些字段可能仅在特定条件下才会显示。
  • 解决方法
    • 可以通过以下 SQL 查询确认当前租户的资源配置:
      SELECT * FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_ID = 1016;
      
      或者查看更详细的资源使用情况:
      SELECT * FROM oceanbase.GV$OB_UNIT_STAT WHERE TENANT_ID = 1016;
      

4. 总结

根据文档库中的信息(参考片段 1 和片段 8),dump tenant info 的日志内容主要反映了租户的资源配置和运行状态。具体字段的计算方式如下:

  • unit_min_cpuunit_max_cpu:由管理员配置。
  • total_worker_cnt:基于实际分配的 CPU 数和 cpu_quota_concurrency 参数计算。
  • 各种 RPC 和 MySQL 请求计数器:实时统计的结果。

如果您需要更详细的字段解释,建议结合实际需求查询相关系统视图(如 DBA_OB_TENANTSGV$OB_UNIT_STAT),并对比官方文档中的最新说明。

希望以上解答对您有所帮助!

更多信息请查看:

  1. 多租户线程常见问题
  2. 常见内存问题
  3. 产品 FAQ
  4. 使用命令行进行运维
  5. Redo 日志
  6. OceanBase 术语
  7. 租户介绍
  8. 租户间的资源隔离

我用的是企业版

你好,你提的这个技术问题牵涉到OceanBase企业版范围内的功能细节。建议你通过以下方式寻求帮助:
1.如你所在的企业客户已签署OceanBase企业版销售合同,请你联系客户经理;
2.如你所在的企业客户尚未签署OceanBase企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。
OceanBase官网商务咨询

https://www.oceanbase.com/contactus?fromPage=https%3A%2F%2Fwww.oceanbase.com%2Fsoftwarecenter-enterprise&dataSources=softwarecenter-enterprise_footercontact_d2022