このトピックでは、PolarDB-Xの変更データキャプチャ (CDC) ノードテストの設計、プロセス、および結果について説明します。 このトピックを参照して、PolarDB-XインスタンスのCDCノードのパフォーマンスをテストできます。
背景情報
PolarDB-XインスタンスのCDCノードは、MySQLバイナリログと互換性のあるバイナリログサービスを提供するログノードとして使用されます。 CDCノードを使用して、バイナリログをサブスクライブおよび使用できます。 これにより、さまざまなシナリオでビジネス要件を満たすことができます。PolarDB-Xこのトピックでは、TPCベンチマークC (TPC-C) 、Sysbench、およびLarge Transactionを使用してCDCノードのパフォーマンスをテストする方法について説明します。 メトリクス、特にデータ遅延とデータスループットのメトリクスは、CDCノードのパフォーマンスを測定します。 次の表に、メトリクスの詳細を示します。 詳細については、「ログリソースモニタリング」をご参照ください。
| メトリック | 説明 | 略語 |
| 遅延時間 | バイナリログイベントが処理されているときに発生するレイテンシ。 単位:ミリ秒。 | DT |
| 1秒あたりのバイト数 | 1秒あたりに処理されるバイナリログイベントのデータサイズ。 単位: byte/s。 | BPS |
| 1秒あたりのイベント | 1秒あたりに処理されるバイナリログイベントの数。 | EPS |
| 1秒あたりのトランザクション数 | 1秒あたりに処理されるトランザクションの数。 説明 バイナリログ内のすべての処理済みトランザクションがカウントされます。 | TPS |
テストデザイン
- CDCノードテストのインスタンス仕様
ノードタイプ ノード仕様 ノード数 計算ノード 32 vCPU、128 GBのメモリ 12 データノード 32 vCPU、128 GBのメモリ 16 CDCノード 16 vCPU、32 GBのメモリ 2 - ストレステスト用ECSインスタンスタイプ
ecs.hfc6.16xlarge (64 vCPU、128 GBのメモリ)
説明 大量のトラフィックを生成するには、複数のECS (Elastic Compute Service) インスタンスが必要になる場合があります。
手順
- TPC-Cテスト手順の詳細については、「TPC-Cテスト」をご参照ください。 この例では、次の設定が設定されています。
- props.mysqlファイルで、warewareasパラメーターを2000に設定します。
- props.mysqlファイルで、runMinsパラメーターを10に設定します。
- runBenchmark.shファイルで、Java仮想マシン (JVM) のメモリを-Xms60g -Xmx60gに設定します。
- Sysbench
- oltp_write_only
テスト手順の詳細については、「Sysbenchテスト」をご参照ください。 この例では、oltp_write_onlyシナリオが使用されています。 同時スレッドの数を変更して、異なるトラフィック量を生成できます。 次のコマンドを実行してストレステストを実行します。
sysbench-config-file='sysb.conf'-db-ps-mode='disable'-skip-trx='off'-mysql-ignore-errors='all'-tables='16'-table-size='10000000'-threads={同時スレッド数} oltp_write_only run - oltp_insert
テスト手順の詳細については、「Sysbenchテスト」をご参照ください。 この例では、oltp_insertシナリオが使用されます。 同時スレッドの数を変更して、異なるトラフィック量を生成できます。 次のコマンドを実行してストレステストを実行します。
sysbench-config-file='sysb.conf'-db-ps-mode='disable'-skip-trx='on'-mysql-ignore-errors='all'-tables='16'-table-size='10000000'-threads={同時スレッド数} oltp_insert run - 大規模な取引
large_transaction.sqlスクリプトをダウンロードして、ストレステスト用のさまざまなサイズのトランザクションを構築します。 200千個のデータを挿入すると、500 MBのトランザクションが構築されます。
- oltp_write_only
テスト結果
TPC-C| メトリック (tpmC) | DT (単位: ミリ秒) | BPS (単位: MB/s) | EPS | TPS |
| 260293.98 | 60 | 65 | 307403 | 9078 |
| 515425.45 | 80 | 128 | 601757 | 17980 |
| 783525.69 | 100 | 197 | 956529 | 27935 |
| 1087352.38 | 120 | 270 | 1292464 | 38867 |
| 1283716.12 | 150 | 325 | 1549433 | 45968 |
| 1500365.16 | 220 | 380 | 1810926 | 53592 |


Sysbench- oltp_write_only
メトリック (QPS) DT (単位: ミリ秒) BPS (単位: MB/s) EPS TPS 106081.68 45 34 274068 17761 215321.43 60 68 532190 35672 302061.64 100 97 788396 50560 408594.41 287 128 1023873 68702 518068.92 420 152 1201216 84654 


- oltp_insert
メトリック (QPS) DT (単位: ミリ秒) BPS (単位: MB/s) EPS TPS 50984.67 46 25 309384 50984.67 106907.38 95 51 645040 106907.38 155172.85 145 75 935367 155172.85 206096.27 267 99 1230641 206096.27 252280.43 275 123 1519752 252280.43 306653.64 388 149 1843716 306653.64 352615.63 920 173 2136066 352615.63 


| 取引サイズ | DT (単位: ミリ秒) | BPS (単位: MB/s) | EPS |
| 0.5 GB | 2000 | 500 | 24 |
| 1 GB | 4800 | 500 | 24 |
| 2 GB | 7800 | 500 | 24 |
| 3 GB | 9400 | 500 | 24 |
| 4 GB | 12500 | 500 | 24 |
| 5 GB | 17000 | 500 | 24 |
| 10 GB | 55000 | 350 | 22 |
| 20 GB | 115000 | 350 | 22 |
