写点什么

三节点 TiDB 集群内存控制文档

  • 2024-10-04
    北京
  • 本文字数:1096 字

    阅读完需:约 4 分钟

作者: guanguanglei 原文来源:https://tidb.net/blog/96d403a9

一、 背景:

中小客户比较在意成本且业务量数据量不是很大,为了兼顾资源和业务使用虚拟机 3 节点集群,本文档介绍中小客户使用虚拟机三节点集群架构和内存控制。

二、三节点集群机器配置

2.1 推荐机器配置

2.2 生产配置参考

三、 三节点集群架构

3.1 架构一

3 节点 3 tidb 模式,中控和监控共用一个节点。


优点:每个节点资源使用充分。


缺点:布置监控的机器负载可能会高一些。


暂时无法在飞书文档外展示此内容

3.2 架构二

3 节点 2 tidb 模式,2tidb 3pd 3tikv 部署中控和监控的节点不布置 tidb 实例。


优点:由于中控和监控节点少一个 tidb 实例各个节点的负载更平均一些。


缺点: 少一个 tidb 实例承载业务。


暂时无法在飞书文档外展示此内容

四、内存控制

4.1 TiDB 内存结构

TiDB 实例内存结构主要分为两部分 SQL 语句占用内存、go 语言占用内存


暂时无法在飞书文档外展示此内容

4.2 TiDB 实例内存参数

  1. OS 内存参数


绑定 numa(虚拟机没有 numa 可忽略)


关闭透明大页(即 Transparent Huge Pages,缩写为 THP)


  1. tidb 实例内存参数


4.3 tikv 内存结构

tikv 内存主要分为 3 部分,block-cache、write-buffer、coprocessor 三部分,block-cache 和 write-buffer 有参数可以控制,coprocessor 是慢 sql 出现积压的时候会占用大量内存不好预估。

4.4 tikv 实例内存参数

| | | | | || —————————- | ——————————————— | ——– | ————————————————————– | - || 参数名称 | 默认值 | 推荐值 | 参数含义 | || storage.block-cache.capacity | 机器内存的 40% | 机器内存的 40% | storage.block-cache.capacity = (MEM_TOTAL * 0.5 / TiKV 实例数量) | || write-buffer-size | defaultcf 128MiB,writecf 128MiB, lockcf 32MiB | 默认值 | memtable 默认参数固定大小,一般不用调整 | |

4.5 tidb 和 tikv 内存参数设置

假如一个三节点集群采用 3 节点 2tidb 模式,如何分配 tidb 和 tikv 的内存参数。



tidb 主要的内存参数 tidb_mem_quota_query ,tidb_server_memory_limit 这两个参数可以使用默认值


tikv 的主要内存参数是 storage.block-cache.capacity 这个参数取机器内存的 40%



发布于: 刚刚阅读数: 4
用户头像

TiDB 社区官网:https://tidb.net/ 2021-12-15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
三节点TiDB 集群内存控制文档_TiDB 社区干货传送门_InfoQ写作社区