TiDB Sysbench パフォーマンス テスト レポート -- v3.0 対 v2.1
テストの目的
このテストは、OLTP シナリオで TiDB 3.0 と TiDB 2.1 のパフォーマンスを比較することを目的としています。
テストバージョン、時間、場所
TiDB バージョン: v3.0.0 対 v2.1.13
時期:2019年6月
場所: 北京
テスト環境
このテストは AWS EC2 で実行され、CentOS-7.6.1810-Nitro (ami-028946f4cffc8b916) イメージを使用します。インスタンスのコンポーネントとタイプは次のとおりです。
成分 | インスタンスタイプ |
---|---|
PD | r5d.xlarge |
TiKV | c5d.4xlarge |
TiDB | c5.4xlarge |
シスベンチのバージョン: 1.0.17
テスト計画
Sysbench を使用して、各テーブルに 10,000,000 行の 16 個のテーブルをインポートします。 3 つの sysbench を開始して、3 つの TiDB インスタンスに圧力をかけます。同時リクエストの数は段階的に増加します。 1 つの同時テストは 5 分間続きます。
次のコマンドを使用してデータを準備します。
sysbench oltp_common \
--threads=16 \
--rand-type=uniform \
--db-driver=mysql \
--mysql-db=sbtest \
--mysql-host=$tidb_host \
--mysql-port=$tidb_port \
--mysql-user=root \
--mysql-password=password \
prepare --tables=16 --table-size=10000000
次に、次のコマンドを使用して TiDB をテストします。
sysbench $testname \
--threads=$threads \
--time=300 \
--report-interval=15 \
--rand-type=uniform \
--rand-seed=$RANDOM \
--db-driver=mysql \
--mysql-db=sbtest \
--mysql-host=$tidb_host \
--mysql-port=$tidb_port \
--mysql-user=root \
--mysql-password=password \
run --tables=16 --table-size=10000000
TiDB のバージョン情報
v3.0.0
成分 | Gitハッシュ |
---|---|
TiDB | 8efbe62313e2c1c42fd76d35c6f020087eef22c2 |
TiKV | a467f410d235fa9c5b3c355e3b620f81d3ac0e0c |
PD | 70aaa5eee830e21068f1ba2d4c9bae59153e5ca3 |
v2.1.13
成分 | Gitハッシュ |
---|---|
TiDB | 6b5b1a6802f9b8f5a22d8aab24ac80729331e1bc |
TiKV | b3cf3c8d642534ea6fa93d475a46da285cc6acbf |
PD | 886362ebfb26ef0834935afc57bcee8a39c88e54 |
TiDB パラメーター構成
TiDB v2.1 と v3.0 の両方で準備済みプラン キャッシュを有効にします (最適化のため、 point select
とread write
は v2.1 では有効になっていません)。
[prepared-plan-cache]
enabled = true
次に、グローバル変数を構成します。
set global tidb_hashagg_final_concurrency=1;
set global tidb_hashagg_partial_concurrency=1;
set global tidb_disable_txn_auto_retry=0;
さらに、v3.0 で次の構成を行います。
[tikv-client]
max-batch-wait-time = 2000000
TiKV パラメータ設定
TiDB v2.1 と v3.0 の両方でグローバル変数を構成します。
log-level = "error"
[readpool.storage]
normal-concurrency = 10
[server]
grpc-concurrency = 6
[rocksdb.defaultcf]
block-cache-size = "14GB"
[rocksdb.writecf]
block-cache-size = "8GB"
[rocksdb.lockcf]
block-cache-size = "1GB"
さらに、v3.0 で次の構成を行います。
[raftstore]
apply-pool-size = 3
store-pool-size = 3
クラスタトポロジ
マシン IP | 展開インスタンス |
---|---|
172.31.8.8 | 3 *シスベンチ |
172.31.7.80、172.31.5.163、172.31.11.123 | PD |
172.31.4.172、172.31.1.155、172.31.9.210 | TiKV |
172.31.7.80、172.31.5.163、172.31.11.123 | TiDB |
テスト結果
Point Select
テスト
v2.1:
スレッド | QPS | 95% のレイテンシー(ミリ秒) |
---|---|---|
150 | 240304.06 | 1.61 |
300 | 276635.75 | 2.97 |
600 | 307838.06 | 5.18 |
900 | 323667.93 | 7.30 |
1200 | 330925.73 | 9.39 |
1500 | 336250.38 | 11.65 |
v3.0:
スレッド | QPS | 95% のレイテンシー(ミリ秒) |
---|---|---|
150 | 334219.04 | 0.64 |
300 | 456444.86 | 1.10 |
600 | 512177.48 | 2.11 |
900 | 525945.13 | 3.13 |
1200 | 534577.36 | 4.18 |
1500 | 533944.64 | 5.28 |
Update Non-Index
v2.1:
スレッド | QPS | 95% のレイテンシー(ミリ秒) |
---|---|---|
150 | 21785.37 | 8.58 |
300 | 28979.27 | 13.70 |
600 | 34629.72 | 24.83 |
900 | 36410.06 | 43.39 |
1200 | 37174.15 | 62.19 |
1500 | 37408.88 | 87.56 |
v3.0:
スレッド | QPS | 95% のレイテンシー(ミリ秒) |
---|---|---|
150 | 28045.75 | 6.67 |
300 | 39237.77 | 9.91 |
600 | 49536.56 | 16.71 |
900 | 55963.73 | 22.69 |
1200 | 59904.02 | 29.72 |
1500 | 62247.95 | 42.61 |
Update Index
テスト
v2.1:
スレッド | QPS | 95% のレイテンシー(ミリ秒) |
---|---|---|
150 | 14378.24 | 13.22 |
300 | 16916.43 | 24.38 |
600 | 17636.11 | 57.87 |
900 | 17740.92 | 95.81 |
1200 | 17929.24 | 130.13 |
1500 | 18012.80 | 161.51 |
v3.0:
スレッド | QPS | 95% のレイテンシー(ミリ秒) |
---|---|---|
150 | 19047.32 | 10.09 |
300 | 24467.64 | 16.71 |
600 | 28882.66 | 31.94 |
900 | 30298.41 | 57.87 |
1200 | 30419.40 | 92.42 |
1500 | 30643.55 | 125.52 |
Read Write
テスト
v2.1:
スレッド | QPS | 95% のレイテンシー(ミリ秒) |
---|---|---|
150 | 85140.60 | 44.98 |
300 | 96773.01 | 82.96 |
600 | 105139.81 | 153.02 |
900 | 110041.83 | 215.44 |
1200 | 113242.70 | 277.21 |
1500 | 114542.19 | 337.94 |
v3.0:
スレッド | QPS | 95% のレイテンシー(ミリ秒) |
---|---|---|
150 | 105692.08 | 35.59 |
300 | 129769.69 | 58.92 |
600 | 141430.86 | 114.72 |
900 | 144371.76 | 170.48 |
1200 | 143344.37 | 223.34 |
1500 | 144567.91 | 277.21 |