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

基于官方文档的OceanBase 知识学习-转储管理-<转储查看与转储控制参数> (基于官方文档做记录 V2.2.77版本)

原创 lxs_data 2022-01-01
1056

    本文是基于OceanBase V2.2.77版本 官方文档 做的学习记录,主要是目的是进行OBCP 考试,通过学习文档,希望了解OceanBase知识,最终考过OBCP。go! 

     本文内容大部分都是OceanBase 官网资料,做了一些比较显著的标志。

转储查看

           可以通过系统表查看转储的时间点、转储的触发和转储的次数可以观察集群内存的使用情况

           可以调整租户内存的大小,并配置转储次数满足不同的业务需求场景


           系统租户从 RootService 角度查看最近 10 次的转储记录:
             obclient>SELECT * FROM __all_rootservice_event_history WHERE event LIKE '%minor%' ORDER BY gmt_create DESC LIMIT 10;

          系统租户查看具体某台 OBServer 的转储情况:
            obclient>SELECT * FROM __all_server_event_history WHERE svr_ip='192.168.100.1' AND module IN ('freeze', 'minor_merge') ORDER BY gmt_create DESC LIMIT 10;

         系统租户查看转储后租户的 Active MemStore 是否释放,查看 freeze_cnt 的计数情况:

           obclient>SELECT * FROM __all_virtual_tenant_memstore_info;

__all_virtual_tenant_memstore_info 表 每一列字段含义:

字段

说明

tenant_id

租户的 ID。

svr_ip

租户所在服务器的 IP。

svr_port

RPC 端口。

active_memstore_used

租户在某台服务器上的活动 MemStore 的大小。

total_memstore_used

租户在某台服务器上的总 MemStore 的使用大小。

major_freeze_trigger

活动 MemStore 使用量触发转储或合并的阈值。

memstore_limit

租户在某台服务器上的 Memstore 的上限。

freeze_cnt

活动 Memstore 达到阈值触发转储的计数器。

       

                __all_rootservice_event_history 表中保留 7 天内的数据__all_server_event_history 表中保留 2 天内的数据

               每次合并都需要先进行一次转储,因此在每天的合并 Duty Time 时间点(默认为凌晨 2 点)可以看到转储动作

              __all_virtual_tenant_memstore_info 表中 major_freeze_trigger 参数对应的是转储和合并的阈值。

             参数 minor_freeze_times 的值为 0 时, 列 active_memstore_used 达到 major_freeze_trigger 所配置的阈值时触发合并。

            参数 minor_freeze_times 的值不为 0,则当列 active_memstore_used 达到 major_freeze_trigger 所配置的阈值时,触发转储还是合并主要取决于上次合并之后发生的转储次数 。

            __all_virtual_tenant_memstore_info 中的 freeze_cnt 的统计数对应的是参数 minor_freeze_times 的值。

            当 freeze_cnt 计数达到 minor_freeze_times 所配置的阈值时,下次租户内存使用率达到阈值将触发合并而不是转储。

           手动触发的转储不会导致 freeze_cnt 的计数增加。合并会将 freeze_cnt 计数清零。

转储控制参数

           minor_freeze_times 参数是 转储最常用的控制参数控制在转储多少次后自动转化合并

          参数为 0,表示关闭转储功能,  每次租户 Memtable 内存的使用达到阈值不会触发转储而是直接进行合并

          通常根据具体的业务需求来进行配置。

配置项

含义

默认值

设定范围

minor_compact_trigger

触发转储的 sstable 的个数阈值

2

[0, 16]

minor_freeze_times

转储多少次后触发合并

5

[0, 65535]

minor_merge_concurrency

并行转储线程数或并行度,为 0 表示只有一个线程数

0

[0,64]

minor_deferred_gc_time

合并之后 sstable 延迟回收的时间间隔

0s

[0s, 24h]

minor_warm_up_duration_time

转储后的预热时间

30s

[0s, 60m]

freeze_trigger_percentage

租户 Memstore 占用内存的比例阈值,达到该值则触发 Freeze

70

[1, 99]

memstore_limit_percentage

租户 Memstore 占租户总内存的百分比

50

[1, 99]

        参数 minor_freeze_times 的增长依赖 Memtable 内存达到设定阈值而触发的转储,而手动运行的转储命令不会进行计数。

        无论手动转储多少次,都不会记录 minor_freeze_times

        例如,minor_freeze_times 的值为 3 时,手动执行 3 次 ALTER SYSTEM MINOR FREEZE 后,当 Memtable 内存使用达到阈值后,并不会触发合并,因为之前的手动转储不做计数。

           OCP 从 V2.4.x 版本开始支持触发转储的 sstable 数量阈值、触发合并的转储次数、转储线程数以及转储水位百分比的设置




「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论