TiFlash5.0.1与4.0.10 对比测试
2021-05-23 刘春雷
1、汇总
1.1、前言
因之前对比测试过DorisDB、ClickHouse、TiDB/TiFlash 4.0.10 版本的星型模型测试集,最近TiDB 5.0.1发布,引入MPP,官方表明:在分析查询上比4.0.x 会有质的提升,现进行测试。
1.2、测试结果
单表执行:
-
5.0.1 单表查询,执行计划默认走TiKV,依然存在执行计划无法完美走TiFlash情况,强制走TiFlash比自动选择的TiKV快
- 4.0.10 单实例 强制 比 4.0.10 单实例 默认 快:73.65%
- 5.0.1 单实例 强制 比 4.0.10 单实例 默认 快:66.42%
-
5.0.1 单表查询,强制TiFlash,两实例比单实例快的不多,比4.0.10 单实例 强制TiFlash 快:17.62%
多表关联执行:
- 4.0.10 单实例 强制 比 4.0.10 单实例 默认 慢:11.38%
- 5.0.1 单实例 强制 比 5.0.1 单实例 默认 快:97.57%
- 5.0.1 单实例 默认 比 4.0.10 单实例 默认 快:80.60%
- 5.0.1 单实例 强制 比 4.0.10 单实例 强制 快:98.36%
- 5.0.1 两实例 强制 比 5.0.1 两实例 默认 快:56%
总结:
-
提升:
- 5.0.1 TiFlash整体性能有提升:单表查询 比4.0.10 快的不明显,多表关联查询,快的很多!
- 5.0.1 TiFlash 默认执行计划 比 4.0.10 有提升
- 与DorisDB、ClickHouse的性能差距 比4.0.10 提升 明显,尤其多表关联查询相差小很多
-
问题:
- 还是存在执行计划有一定的不准确,导致SQL执行时间不是最优
TiFlash 5.0.1 在性能上,比4.0.10 好很多,且在稳定性上也有提升,推荐大家及时升级,及时用起来~
注:DorisDB、ClickHouse测试数据,为引用之前的测试结果,可以参考之前的文章
【单表执行情况】:
【多表关联执行情况对比】:
2、准备工作
2.1、机器信息
2.2、添加表至Tiflash
alter table lineorder SET TIFLASH REPLICA 1;
alter table customer SET TIFLASH REPLICA 1;
alter table dates SET TIFLASH REPLICA 1;
alter table part SET TIFLASH REPLICA 1;
alter table supplier SET TIFLASH REPLICA 1;
alter table lineorder_flat SET TIFLASH REPLICA 1;
2.3、测试流程
已有集群5.0.1 -->导入数据 -->添加1个TiFlash–> 把表加入到TiFlash -->进行单表查询、多表查询、走默认tidb_isolation_read_engines 与 强制走TiFlash 进行对比
扩容至2个TiFlash 节点 -->等待均衡数据 --> 再次进行测试
【等待均衡】:
3、单表测试
参考文档执行SQL,地址:https://www.dorisdb.com/zh-CN/blog/1.8
【举例:5.0.1 单表查询,默认】 :
可以看到执行计划默认走tikv
强制走TiFlash
set SESSION tidb_isolation_read_engines = “tiflash”;
4、多表关联查询测试
参考文档执行SQL
【举例:5.0.1 多表查询,默认】:
可以看到执行计划默认走tikv、tiflash 组合的