1.5 动态配置变更

    在 TiDB v4.0 版本之前,通过配置变更对集群进行调优一直比较繁琐,主要存在的问题如下:

    • 集群缺少配置管理的统一入口

    动态配置变更特性是 TiDB v4.0 版本的新特性,可以通过 pd-ctl component 查看和在线修改 TiDB、TiKV、PD 组件的配置参数。用户可以利用动态配置变更对各组件进行性能调优而无需重启集群组件。

    (1) 开启动态配置变更

    4.0 版本默认开启该参数,可通过修改 TiDB,TiKV,PD 配置文件中的 关闭该功能。

    (2) 查看使用说明

    (3) 修改全局配置

    示例如下:

    1. >> component set tikv gc.batch-keys 1024

    上述命令会将所有 TiKV 实例的 GC 的参数 batch-keys 设置为 1024。

    (4) 修改实例配置

    可通过 component set <address> <key> <value> 进行设置,其中 address 为实例的 IP 地址加端口,如 127.0.0.1:20160。

    示例如下:

    上述命令仅将 127.0.0.1:20160 这个 TiKV 实例的 GC 的参数 batch-keys 设置为 1024。

    可通过 查看具体实例的配置。

    示例如下:

    1. >> component show 127.0.0.1:20160

    (1) 创建 tidbcluster 集群

    (2) 进入 PD Pod

    • 查看当前配置
    1. / # ./pd-ctl component show basic-tikv-0.basic-tikv-peer.test-cluster.svc:20160 | grep batch-keys
    • 动态变更配置

    该命令返回 Success! 表示已经成功更新到配置中心。由于配置的分发是通过各组件拉取的,需要最多等待 30s 即可验证配置是否生效。

    • 验证变更配置
    1. / # ./pd-ctl component show basic-tikv-0.basic-tikv-peer.test-cluster.svc:20160 | grep batch-keys
    2. batch-keys = 512

    综上,可以看到通过使用 pd-ctl,能够快速对集群的大部分参数进行在线修改,达到对系统性能调优的目的。