转储的动作可以通过系统表进行查看。
通过查看转储的时间点、转储的触发和转储的次数可以观察集群内存的使用情况,同时可以调整租户内存的大小,并配置转储次数进而满足不同的业务需求场景。
查看转储的示例如下:
系统租户从 RootService 角度查看最近 10 次的转储记录。
obclient> SELECT * FROM __all_rootservice_event_history WHERE event LIKE '%minor%' ORDER BY gmt_create 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;
上述示例的返回结果说明如下表所示。
字段
说明
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
计数清零。