【 TiDB 使用环境】
1、三台Tidb,分别是:TiDB01、TiDB02、TiDB03(供tiflash使用,设置过engines,目前为tiflash,tidb )。
2、二台Tiflsh,分别是TiFlash01、TiFlash02
3、五台TikV,分别是TiKV01~TiKV05
【概述】 场景 + 问题概述
目前TiDB集群使用TiUP部署,很多参数都是默认设置,刚搭建时查询速度很快,目前查询速度特别慢(详见截图)
【背景】 做过哪些操作
TiDB03(供tiflash使用,设置过engines,目前为tiflash,tidb,设置过TIFLASH REPLICA为1)
【现象】 业务和数据库现象
相比较TiKv中查询只需要0.16s,但是通过TiDB03访问需要17.557s
图一:tiflash查询速度情况(慢)
图二:tiflash查询速度慢语句执行计划
图三:tikv查询速度情况(快)
图四:tikv查询速度快情况执行计划
图五:tiflsh修改tidb_distsql_scan_concurrency参数后执行时间
图六:tiflash修改其他参数后查询速度
【问题】 当前遇到的问题
【业务影响】
【TiDB 版本】
TiDB 5.1.0
北京大爷
(北京大爷)
2
你这个是典型的行查场景
先纠正一个 理解
AP 类查询是指大数据量的 聚合分析类低频查询,此类场景 适合 列存 iflash
TP 类查询 高并发小数据量高筛选读 高频查询,此类场景适合 行存tikv
量化下
如果执行计划中 真正需要参与计算的数据 为 1000w 以上 大概率适合 tiflash
反之适合 tikv
从你的执行计划看 tikv 使用 二级索引 命中 12 行 外加一次回表 总共 才有 24 行 record 参与计算明显是 行存场景
2 个赞
谢谢你的建议!后来通过如下设置解决的:
set @@global.tidb_distsql_scan_concurrency=80解决的。
你好!这样设置set @@global.tidb_distsql_scan_concurrency=80速度提升还是不特别明显,刚开始配置好后查询很快,现在查询用户多了,是不是我的副本建的比较少,我指设置一副本,是不是设置二副本效果要好点? 即:ALTER TABLE xx
.yy
SET TIFLASH REPLICA 1;
我现在已经是二节点tiflash,每个节点48核cpu、128 GB内存、SSD 2T磁盘、万兆网卡,是不是将副本设置为2更有效?
北京大爷
(北京大爷)
7
设置为 2 ,可以提供相关 tiflash 查询冗余。在 mpp 场景下也有一定加速。看自身资源情况
你好大佬!我现在也是2个节点的tiflash,请问设置副本为1还是2?replica设置为哪个查询效率高?
system
(system)
关闭
9
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。