天天看點

TiFlash5.0.1與4.0.10 對比測試

作者:劉春雷

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測試資料,為引用之前的測試結果,可以參考之前的文章

【單表執行情況】:

​​

TiFlash5.0.1與4.0.10 對比測試

​​

【多表關聯執行情況對比】:\

TiFlash5.0.1與4.0.10 對比測試

2、準備工作

2.1、機器資訊

TiFlash5.0.1與4.0.10 對比測試

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;

TiFlash5.0.1與4.0.10 對比測試

2.3、測試流程

已有叢集5.0.1 -->導入資料 -->添加1個TiFlash–> 把表加入到TiFlash -->進行單表查詢、多表查詢、走預設tidb_isolation_read_engines 與 強制走TiFlash 進行對比

擴容至2個TiFlash 節點 -->等待均衡資料 --> 再次進行測試

【等待均衡】:

TiFlash5.0.1與4.0.10 對比測試

3、單表測試

參考文檔執行SQL,位址:​​https://www.dorisdb.com/zh-CN/blog/1.8​​

【舉例:5.0.1 單表查詢,預設】 :

可以看到執行計劃預設走tikv

TiFlash5.0.1與4.0.10 對比測試

強制走TiFlash

set SESSION tidb_isolation_read_engines = “tiflash”;

4、多表關聯查詢測試

參考文檔執行SQL

【舉例:5.0.1 多表查詢,預設】:

繼續閱讀