为什么我们要从MySQL迁移到TiDB?
定位到是: mysql> show global variables like 'tidb_ddl_reorg_worker_cnt'; +---------------------------+-------+ | Variable_name | Value | +---------------------------+-------+ | tidb_ddl_reorg_worker_cnt | 16 | +---------------------------+-------+ 1 row in set (0.11 sec)
mysql> show global variables like 'tidb_ddl_reorg_batch_size'; +---------------------------+-------+ | Variable_name | Value | +---------------------------+-------+ | tidb_ddl_reorg_batch_size | 1024 | +---------------------------+-------+ 上述两个参数对已有非 pcie 集群压力较量大导致。通过 set global 调理(3.0.3 后,默认从 256 涨到了 1000 和 16): tidb_ddl_reorg_batch_size 1000-256 tidb_ddl_reorg_worker_cnt 16-4 同时,进步 Compaction 相干: max-background-jobs: 8-10-12 max-sub-compactions: 1-2-4 defaultcf.compression-per-level: ["lz4", "lz4", "lz4", "lz4", "lz4", "zstd", "zstd"] writecf.compression-per-level: ["lz4", "lz4", "lz4", "lz4", "lz4", "zstd", "zstd"] 最终的优化功效是,QPS 不变在 3K 阁下: ⑦静默 Region 开启 在现实环境中,读写哀求并不会匀称漫衍到每个 Region 上,而是齐集在少数的 Region 上。 那么可以只管镌汰暂且空闲的 Region 的动静数目,这也就是 Hibernate Region 的成果。 无须要时可不举办 raft-base-tick,即不驱动空闲 Region 的 Raft 状态机,那么就不会触发这些 Region 的 Raft 发生心跳信息,极大地减小了 Raftstore 的事变承担。 制止 TiDB v3.0.5,Hibernate Region 还是一个尝试成果,在 TiKV master 分支上已经默认开启。可按照现实环境和需求来开启该成果。 参数如下: raftstore.hibernate-regions: true (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |