数据库的 cachesize 大小,是平均分配到每个vgroup的,还是每个vgroup都使用该 cachesize 大小?

【TDengine 使用环境】生产环境

【TDengine 版本】3.3.8.0

【操作系统以及版本】openEuler 22.03 (LTS-SP4)

【部署方式】容器

【集群节点数】3

【集群副本数】3

【遇到的问题:问题现象及影响】

数据库的 cachesize 大小,是平均分配到每个vgroup的,还是每个vgroup都使用该 cachesize 大小?

比如:A库 cachesize 为 256 MB,vgroups 为 8,

查询每个vgroup的 “cacheload” 如下:

  1. 119074457
  2. 121327817
  3. 122526590
  4. 121030182
  5. 121464291
  6. 119733975
  7. 118545446
  8. 121655413

1、请问是这8个vgroup共用 256MB cachesize,还是每个vgroup各自拥有 256MB cachesize?

2、如果是共用的,那意味着要增加 cachesize 吗,反之则不用?

cachesize 是每个 vnode 中用于缓存子表最近数据的内存大小,即 每个 vnode 都使用该 cachesize 大小 ,而非平均分配到每个 vgroup。

  1. 调整 cachesize 的影响 :当 cachesize 不足时,可能导致大量 rocksdb 操作,增大 cachesize 可缓解 / 消除影响,减少 cache 的换入换出操作。

  2. 判断 cachesize 是否够用 :通过show <db_name>.vgroups;查看 cacheload(单位为字节),若 cacheload 非常接近 cachesize,则 cachesize 可能过小;若 cacheload 明显小于 cachesize,则 cachesize 够用。

1 个赞

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。