第2章 硬件选型规划

    如果是典型的 TP 类场景,业务并发较高,但几乎都是点查点写,那么整个系统的瓶颈大概率先出现在 tidb-server,所以 tidb-server 的 cpu 高一点,数量多一点是一个更好的选择。 如果你有更多 OLAP 类的查询,内存通常会成为瓶颈。在以下情况中,可以考虑分配超过官方文档建议的 16GB 的内存:

    • 工作负载中 OLAP 查询的比例很高;
    • 工作负载中包含很复杂的 OLAP 查询;
    • 计划使用 mydumper 进行全量备份

    2.2 PD 组件

    主要负责全局唯一的事务号的分配,以及整个集群的元数据信息。所以 PD 不需要太多的资源,在集群规模较大,元数据较多的情况下,推荐使用 SSD 磁盘。但是 PD 的稳定性对于整个集群来说至关重要,生产环境推荐单独的服务器部署 PD,而且要有至少三个节点。对于非关键性工作负载或者非生产环境,你可以考虑将 PD 和 TiDB 组件部署在同一台服务器上,或减少 PD 实例数以降低成本。

    2.4 监控组件

    在监控组件的硬件资源上,官方的建议比较大方,但实际情况你可以考虑缩小规模以节省一些硬件成本,4-8GB 内存、2-4 核 CPU 在大多数情况下已经够用了。建议不要把监控组件部署在一个 16GB 内存、8 核 CPU 的实例上,而是可以考虑部署在两个分别有 8GB 内存、4 核 CPU 的实例上,这样能保证 Prometheus/Alertmanager/Grafana 监控系统的高可用性。TiDB 后续也会推出支持监控高可用的部署方式。

    建议使用:

    • CPU:4 核
    • 内存:8GB
    • 磁盘:SSD

    2.6 Drainer 组件

    建议使用:

    • CPU:4 核
    • 内存:8GB
    • 磁盘:如果 Drainer 生成了文件,建议使用 SSD;其他情况无特殊要求。
    • 网络:万兆网卡(建议两块)

    Drainer 主要占用很多网络资源。如果你的 Drainer 输出类型是文件,请确保具有足够的磁盘带宽,以进行准实时增量备份。

    • CPU:16 核
    • 内存:32GB
    • 网络:万兆网卡

    如果你需要压缩转储文件,则应将内存增加一倍(即 64GB)。