TiDB Sysbench パフォーマンス テスト レポート -- v4.0 と v3.0

テストの目的

このテストの目的は、オンライン トランザクション処理 (OLTP) シナリオにおける TiDB 4.0 と TiDB 3.0 の Sysbench パフォーマンスを比較することです。

テスト環境(AWS EC2)

ハードウェア構成

サービスの種類EC2タイプインスタンス数
PDm5.xlarge3
TiKVi3.4xlarge3
TiDBc5.4xlarge3
システムベンチm5.4x大1

ソフトウェアバージョン

サービスの種類ソフトウェアバージョン
PD3.0 と 4.0
TiDB3.0 と 4.0
TiKV3.0 と 4.0
システムベンチ1.0.20

パラメータ設定

TiDB v3.0 構成

log.level: "error" performance.max-procs: 20 prepared-plan-cache.enabled: true tikv-client.max-batch-wait-time: 2000000

TiKV v3.0 構成

storage.scheduler-worker-pool-size: 5 raftstore.store-pool-size: 3 raftstore.apply-pool-size: 3 rocksdb.max-background-jobs: 3 raftdb.max-background-jobs: 3 raftdb.allow-concurrent-memtable-write: true server.grpc-concurrency: 6 readpool.storage.normal-concurrency: 10 readpool.coprocessor.normal-concurrency: 5

TiDB v4.0 構成

log.level: "error" performance.max-procs: 20 prepared-plan-cache.enabled: true tikv-client.max-batch-wait-time: 2000000

TiKV v4.0 構成

storage.scheduler-worker-pool-size: 5 raftstore.store-pool-size: 3 raftstore.apply-pool-size: 3 rocksdb.max-background-jobs: 3 raftdb.max-background-jobs: 3 raftdb.allow-concurrent-memtable-write: true server.grpc-concurrency: 6 readpool.unified.min-thread-count: 5 readpool.unified.max-thread-count: 20 readpool.storage.normal-concurrency: 10 pessimistic-txn.pipelined: true

グローバル変数の設定

set global tidb_hashagg_final_concurrency=1; set global tidb_hashagg_partial_concurrency=1; set global tidb_disable_txn_auto_retry=0;

テスト計画

  1. TiUPを使用して TiDB v4.0 および v3.0をデプロイ。
  2. Sysbench を使用して、各テーブルに 1,000 万行のデータが含まれる 16 のテーブルをインポートします。
  3. 各テーブルに対してanalyze tableステートメントを実行します。
  4. さまざまな同時実行テストの前に、復元に使用されるデータをバックアップします。これにより、各テストのデータの一貫性が確保されます。
  5. Sysbench クライアントを起動して、 point_selectread_writeupdate_index 、およびupdate_non_indexテストを実行します。 AWS NLB を介して TiDB でストレス テストを実行します。各タイプのテストでは、ウォームアップに 1 分、テストに 5 分かかります。
  6. 各種類のテストが完了したら、クラスターを停止し、手順 4 のバックアップ データでクラスターを上書きし、クラスターを再起動します。

テストデータの準備

次のコマンドを実行してテスト データを準備します。

sysbench oltp_common \ --threads=16 \ --rand-type=uniform \ --db-driver=mysql \ --mysql-db=sbtest \ --mysql-host=$aws_nlb_host \ --mysql-port=$aws_nlb_port \ --mysql-user=root \ --mysql-password=password \ prepare --tables=16 --table-size=10000000

テストを実行する

次のコマンドを実行してテストを実行します。

sysbench $testname \ --threads=$threads \ --time=300 \ --report-interval=1 \ --rand-type=uniform \ --db-driver=mysql \ --mysql-db=sbtest \ --mysql-host=$aws_nlb_host \ --mysql-port=$aws_nlb_port \ run --tables=16 --table-size=10000000

試験結果

ポイントセレクト性能

スレッドv3.0 QPSv3.0 95%レイテンシー(ミリ秒)v4.0 QPSv4.0 95%レイテンシー(ミリ秒)QPSの向上
150117085.7011.667118165.13571.6080.92%
300200621.44712.615207774.08592.0323.57%
600283928.93234.569320673.3423.30412.94%
900343218.26246.686383913.38554.65211.86%
1200347200.23668.092408929.43726.31817.78%
1500366406.276710.562418268.88567.98514.15%

v3.0 と比較して、TiDB v4.0 のポイント選択パフォーマンスは 14% 向上しました。

Point Select

インデックス以外のパフォーマンスを更新する

スレッドv3.0 QPSv3.0 95%レイテンシー(ミリ秒)v4.0 QPSv4.0 95%レイテンシー(ミリ秒)QPSの向上
15015446.4102411.44616954.3997110.8449.76%
30022276.1557217.31924364.4468916.7069.37%
60028784.8835329.19431635.7083328.1629.90%
90032194.1554842.61135787.6607838.94211.16%
120033954.6911458.92338552.6315851.01813.54%
150035412.003274.46440859.6375562.19315.38%

v3.0 と比較して、TiDB v4.0 の非インデックス更新パフォーマンスは 15% 向上しました。

Update Non-index

インデックスのパフォーマンスを更新する

スレッドv3.0 QPSv3.0 95%レイテンシー(ミリ秒)v4.0 QPSv4.0 95%レイテンシー(ミリ秒)QPSの向上
15011164.4057116.70611954.7363516.4087.08%
30014460.9805728.16215243.4089928.1625.41%
60017112.7303653.8518535.0751550.1078.31%
90018233.8342686.00220339.690170.54811.55%
120018622.50283127.80521390.2512294.10414.86%
150018980.34447170.47922359.996114.71717.81%

v3.0 と比較して、TiDB v4.0 のインデックス更新パフォーマンスは 17% 向上しました。

Update Index

読み取り/書き込みパフォーマンス

スレッドv3.0 QPSv3.0 95%レイテンシー(ミリ秒)v4.0 QPSv4.0 95%レイテンシー(ミリ秒)QPSの向上
15043768.3363371.8353912.6370559.99323.18%
30055655.63589121.08571327.2133697.55528.16%
60064642.96992223.34484487.75483176.73130.70%
90068947.25293325.98490177.94612257.9530.79%
120071334.80099434.82992779.71507344.07830.06%
150072069.9115580.01795088.50812434.82931.94%

v3.0 と比較して、TiDB v4.0 の読み取り/書き込みパフォーマンスは 31% 向上しました。

Read Write

このページは役に立ちましたか?

Playground
新規
登録なしで TiDB の機能をワンストップでインタラクティブに体験できます。
製品
TiDB Cloud
TiDB
価格
PoC お問い合わせ
エコシステム
TiKV
TiFlash
OSS Insight
© 2024 PingCAP. All Rights Reserved.
Privacy Policy.