📣

TiDB Cloud Serverless が
Starter
に変わりました!このページは自動翻訳されたものです。
原文はこちらからご覧ください。

TiDB v8.5.0 のTiDB Cloud TPC-C パフォーマンス テスト レポート

このドキュメントでは、TiDBバージョン8.5.0を搭載したTiDB Cloud DedicatedクラスタのTPC-Cパフォーマンステストの手順と結果について説明します。このレポートは、TiDB Self-Managedバージョン8.5.0クラスタのパフォーマンスに関する参考資料としてもご利用いただけます。

テストの概要

このテストの目的は、オンライン トランザクション処理 (OLTP) シナリオにおける TiDB v8.5.0 の TPC-C パフォーマンスを示すことです。

テスト環境

TiDB クラスター

テストは、次の設定で TiDB クラスターで実行されます。

  • クラスタタイプ: TiDB Cloud専用

  • クラスタバージョン: v8.5.0

  • クラウドプロバイダー: AWS (us-west-2)

  • クラスタ構成:

    ノードタイプノードサイズノード数ノードstorage
    TiDB16 vCPU、32 GiB2該当なし
    TiKV16 vCPU、64 GiB31000ギガバイト

パラメータ設定

注記:

TiDB Cloudの場合、クラスターの TiKV パラメータを変更するには、 PingCAP サポート問い合わせてサポートを受けることができます。

TiKVパラメータprefill-for-recycle 、初期化直後にログのリサイクルを有効にすることができます。このドキュメントでは、 prefill-for-recycleパラメータを有効にした状態でテストを実施しています。

raft-engine.prefill-for-recycle = true

ベンチマーク実行者

ベンチマーク・エグゼキュータはTiDBクラスタにSQLクエリを送信します。このテストでは、ハードウェア構成は次のとおりです。

  • マシンタイプ: Amazon EC2 (us-west-2)
  • インスタンスタイプ: c6a.2xlarge

テスト手順

このセクションでは、TPC-C パフォーマンス テストを段階的に実行する方法を紹介します。

  1. TiDB Cloudコンソールでは、 テスト環境要件を満たすTiDB Cloud Dedicated クラスターを作成します。

    詳細についてはTiDB Cloud専用クラスタを作成する参照してください。

  2. ベンチマーク エグゼキュータで、新しく作成されたクラスターに接続し、 tpcc名前のデータベースを作成します。

    クラスターに接続するには、 プライベートエンドポイント経由でTiDB Cloud Dedicated に接続する参照してください。

    tpccデータベースを作成するには、次の SQL ステートメントを実行します。

    CREATE DATABASE tpcc;
  3. TPC-C データをtpccデータベースにロードします。

    1. このドキュメントのテストはゴーTPCに基づいて実装されています。テストプログラムは次のコマンドでダウンロードできます。

      curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/pingcap/go-tpc/master/install.sh | sh
    2. 以下のコマンドgo-tpc tpccを実行して、1,000個の倉庫${PASSWORD} tpccデータベースにインポートします。5、7、9 ${HOST}実際の値に置き換えてください。このドキュメントでは${THREAD} ${THREAD}値が50 200場合の3つのテストを実施しています100

      go-tpc tpcc --host ${HOST} --warehouses 1000 prepare -P 4000 -D tpcc -T ${THREAD} --time 2h0m0s -p ${PASSWORD} --ignore-error
  4. TiDB オプティマイザーが最適な実行プランを生成できるようにするには、TPC-C テストを実行する前に次の SQL ステートメントを実行して統計を収集します。

    ANALYZE TABLE customer; ANALYZE TABLE district; ANALYZE TABLE history; ANALYZE TABLE item; ANALYZE TABLE new_order; ANALYZE TABLE order_line; ANALYZE TABLE orders; ANALYZE TABLE stock; ANALYZE TABLE warehouse;

    統計の収集を高速化するには、収集前に次の SQL ステートメントを実行します。

    SET tidb_build_stats_concurrency=16; SET tidb_distsql_scan_concurrency=16; SET tidb_index_serial_scan_concurrency=16;
  5. TiDB Cloud Dedicated クラスタでストレステストを実行するには、以下のコマンドをgo-tpc tpcc実行します。同時実行ごとにテストは 2 時間かかります。

    go-tpc tpcc --host ${HOST} -P 4000 --warehouses 1000 run -D tpcc -T ${THREAD} --time 2h0m0s -p ${PASSWORD} --ignore-error
  6. 結果からNEW_ORDERのtpmCデータを抽出します。

    TPC-Cは、tpmC(1分あたりのトランザクション数)を使用して、最大適格スループット(MQTh、最大適格スループット)を測定します。トランザクションとはNewOrderトランザクションであり、最終的な測定単位は1分あたりに処理される新規注文数です。

テスト結果

v8.5.0 のテスト環境における TPC-C パフォーマンスは次のとおりです。

スレッドv8.5.0 tpmC
5043,146
10073,875
200103,395

TPC-C

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