暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据库学习Q&A 064:在OceanBase数据库中,资源隔离中的资源有哪些分类?

从设计上,OceanBase 数据库从 V4.0.0 版本支持租户间 CPU、Memory、IOPS 隔离,一个 Unit 可以指定 CPU、Memory、IOPS、log_disk_size 这 4 种资源。

obclient> CREATE RESOURCE UNIT name
    MAX_CPU = 1, [MIN_CPU = 1,]
    MEMORY_SIZE = '2G',
    [MAX_IOPS = 1024, MIN_IOPS = 1024, IOPS_WEIGHT=0,]
    [LOG_DISK_SIZE = '2G'];

节点的可用 CPU

节点在启动时会探测物理机或容器的在线 CPU 个数,如果节点探测得不准确(例如,在容器化环境里),您也可以通过 cpu_count 配置项来指定。

由于节点会为后台线程预留两个 CPU,故实际可以分给租户的 CPU 总数会少两个。

节点的可用 Memory

节点在启动时会探测物理机或容器的内存,由于节点需要为其它进程预留一部分内存,故 observer 进程的可用内存等于 物理内存 * memory_limit_percentage。您也可以通过配置项 memory_limit 直接配置 observer 进程可用的总内存大小。

observer 进程可用的内存需要进一步扣除掉内部共用模块的那一部分,这部分内存大小由配置项 system_memory 指定,剩下的内存才是租户可用的总内存。

关于内存配置的更多信息,请参见 内存管理 章节。

查看每个节点的可用资源

您可以通过 oceanbase.GV$OB_SERVERS 视图查看每个节点的可用资源,示例如下:

obclient> SELECT * FROM oceanbase.GV$OB_SERVERS\G
*************************** 1. row ***************************
                 SVR_IP: xx.xx.xx.xx
               SVR_PORT: 57234
                   ZONE: zone1
               SQL_PORT: 57235
           CPU_CAPACITY: 14
       CPU_CAPACITY_MAX: 14
           CPU_ASSIGNED: 6.5
       CPU_ASSIGNED_MAX: 6.5
           MEM_CAPACITY: 10737418240
           MEM_ASSIGNED: 6442450944
      LOG_DISK_CAPACITY: 316955164672
      LOG_DISK_ASSIGNED: 15569256438
        LOG_DISK_IN_USE: 939524096
     DATA_DISK_CAPACITY: 10737418240
       DATA_DISK_IN_USE: 624951296
DATA_DISK_HEALTH_STATUS: NORMAL
DATA_DISK_ABNORMAL_TIME: NULL
1 row in set
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论