TiDB TPC-H 50G 性能测试报告

测试目的

测试 TiDB 在 OLAP 场景下 1.0 和 2.0 版本的性能对比。

注意:

不同的测试环境可能使测试结果发生改变。

测试环境

测试机器信息

  1. 系统信息

    | 机器 IP | 操作系统 | 内核版本 | 文件系统类型 | |———————|————————————|———————————————|———————| | 172.16.31.2 | Ubuntu 17.10 64bit | 4.13.0-16-generic | ext4 | | 172.16.31.3 | Ubuntu 17.10 64bit | 4.13.0-16-generic | ext4 | | 172.16.31.4 | Ubuntu 17.10 64bit | 4.13.0-16-generic | ext4 | | 172.16.31.6 | CentOS 7.4.1708 64bit | 3.10.0-693.11.6.el7.x86_64 | ext4 | | 172.16.31.8 | CentOS 7.4.1708 64bit | 3.10.0-693.11.6.el7.x86_64 | ext4 | | 172.16.31.10 | CentOS 7.4.1708 64bit | 3.10.0-693.11.6.el7.x86_64 | ext4 |

  2. 硬件信息

    | 类别 | 名称 | |——————|———————————————————————————| | CPU | 40 vCPUs, Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz | | 内存 | 128GB, 8条16GB RDIMM, 2400MT/s, 双列, x8 带宽 | | 磁盘 | 2 块 Intel P4500 系列 4T SSD 硬盘 | | 网卡 | 万兆网卡 |

TPC-H

tidb-bench/tpch

集群拓扑

机器 IP 部署的实例
172.16.31.2 TiKV * 2
172.16.31.3 TiKV * 2
172.16.31.6 TiKV * 2
172.16.31.8 TiKV * 2
172.16.31.10 TiKV * 2
172.16.31.10 PD * 1
172.16.31.4 TiDB * 1

TiDB 版本信息

TiDB 1.0:

组件名 版本号 commit hash
TiDB v1.0.9 4c7ee3580cd0a69319b2c0c08abdc59900df7344
TiKV v1.0.8 2bb923a4cd23dbf68f0d16169fd526dc5c1a9f4a
PD v1.0.8 137fa734472a76c509fbfd9cb9bc6d0dc804a3b7

TiDB 2.0:

组件名 版本号 commit hash
TiDB v2.0.0-rc.6 82d35f1b7f9047c478f4e1e82aa0002abc8107e7
TiKV v2.0.0-rc.6 8bd5c54966c6ef42578a27519bce4915c5b0c81f
PD v2.0.0-rc.6 9b824d288126173a61ce7d51a71fc4cb12360201

测试结果

Query ID TiDB 2.0 TiDB 1.0
1 33.915s 215.305s
2 25.575s NaN
3 59.631s 196.003s
4 30.234s 249.919s
5 31.666s OOM
6 13.111s 118.709s
7 31.710s OOM
8 31.734s 800.546s
9 34.211s 630.639s
10 30.774s 133.547s
11 27.692s 78.026s
12 27.962s 124.641s
13 27.676s 174.695s
14 19.676s 110.602s
15 View Required View Required
16 24.890s 40.529s
17 245.796s NaN
18 91.256s OOM
19 37.615s NaN
20 44.167s 212.201s
21 31.466s OOM
22 31.539s 125.471s

TPC-H Query Result

说明:

  • 图中橙色为 Release 1.0,蓝色为 Release 2.0,纵坐标是 Query 的处理时间,越低越好
  • Query 15 因为 1.0 和 2.0 都还未支持视图,所以结果标记为 “View Required”
  • Query 2, 17, 19 因为 TiDB 1.0 长时间未跑出结果,所以结果标记为 “Nan”
  • Query 5, 7, 18, 21 因为 TiDB 1.0 在跑的过程中内存占用过多被 oom-killer 杀死,所以结果标记为 “OOM”