加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

为什么我们要从MySQL迁移到TiDB?

发布时间:2020-08-14 18:24:07 所属栏目:MySql教程 来源:网络整理
导读:【金融特辑】光大****科技部DBA女神带你从0到1揭秘MGR 【51CTO.com原创稿件】当一张百亿数据量的表放在你面前,你将面临着什么?加列?哭吧,怎么也得等个几天甚至几周。加索引?哭吧,不论你用 pt-online-schema,还是 gh-ost,你都面临着拷贝一张临时表用以

为什么我们要从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 左右:

为什么我们要从MySQL迁移到TiDB?

⑦静默 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 

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读