すべてのプロダクト
Search
ドキュメントセンター

PolarDB:Orca performance white paper

最終更新日:Jan 09, 2026

このドキュメントでは、PolarDB for MySQL Enterprise Edition 8.0.2 の Orca パフォーマンステストの結果について説明します。

テスト環境

  • Elastic Compute Service (ECS) インスタンスと PolarDB for MySQL クラスターは、同じリージョンおよび仮想プライベートクラウド (VPC) 内に配置する必要があります。

  • PolarDB for MySQL クラスターの構成:

    • クラスター仕様:Cluster Edition、データベースエンジンバージョン MySQL 8.0.2、ノード仕様 polar.mysql.x4.2xlarge (16 コア、64 GB)、ストレージタイプ PSL5。

    • パラメーター設定:Blink-tree インデックスアクセラレーション機能 (loose_innodb_polar_blink_tree=ON) を有効にして、クエリパフォーマンスを向上させます。

  • ECS インスタンスの構成:1 つの ecs.c8i.16xlarge インスタンス (64 コア、128 GB) が Orca プライベートエンドポイントを介して接続し、VPC 内での高いアクセスパフォーマンスと効率的で安全なデータ転送を保証します。

テストツール

このテストでは、Redis Labs のマルチスレッドストレステストツールである memtier_benchmark を使用します。

パフォーマンステスト

テストシナリオ

このセクションでは、128 の同時接続と 512 の同時接続の 2 つのシナリオにおける Orca 機能のパフォーマンスについて説明します。テストでは、Ping-Pong とパイプラインの両方のネットワークメカニズムを使用します。

同時実行数

値のサイズ

スレッド

スレッドあたりの接続数

合計接続数

接続あたりの操作数

キー範囲

合計データ量

128 の同時実行

128 バイト

32

4

128

2,000,000

[1, 128,000,000]

約 30 GB

1 KB

32

4

128

2,000,000

[1, 128,000,000]

約 40 GB

4 KB

32

4

128

200,000

[1, 12,800,000]

約 60 GB

16 KB

32

4

128

200,000

[1, 12,800,000]

約 750 GB

512 の同時実行

128 バイト

32

16

512

2,000,000

[1, 512,000,000]

約 150 GB

1 KB

32

16

512

2,000,000

[1, 512,000,000]

約 175 GB

4 KB

32

16

512

200,000

[1, 51,200,000]

約 250 GB

16 KB

32

16

512

200,000

[1, 51,200,000]

約 1.5 TB

次の表に各パラメーターの説明を示します。

フィールド

説明

同時実行数

テストで使用される合計接続数。テストには、128 および 512 の同時接続シナリオが含まれます。

値のサイズ

テストで使用されるデータ値のサイズ。テスト対象のサイズは 128 バイト、1 KB、4 KB、16 KB です。

スレッド数

各テストシナリオで使用されるスレッド数。すべてのシナリオで 32 スレッドが使用されます。

スレッドあたりの接続数

各スレッドによって作成されるクライアント接続の数。128 の同時実行シナリオでは 4 つの接続が作成されます。512 の同時実行シナリオでは 16 の接続が作成されます。

合計接続数

同時接続の合計数。スレッド数にスレッドあたりの接続数を乗算したものです。

接続あたりの操作数

接続ごとに実行される読み取りおよび書き込み操作の数。

キー範囲

書き込みおよび読み取り操作のためにランダムに生成されるキーの範囲。

合計データ量

値のサイズ、操作数、接続数に基づいて計算された合計データ量。

テストメトリック

メトリック

説明

QPS

1 秒あたりに実行される読み取りおよび書き込み操作の数 (操作/秒)。

説明

QPS は、システムのスループット容量を測定するための主要なメトリックです。値が高いほど、処理能力が強いことを示します。

平均レイテンシ

読み取りおよび書き込み操作の平均レイテンシ (ミリ秒、ms)。

説明

平均レイテンシは、システムの平均応答速度を反映します。値が低いほど、ユーザーエクスペリエンスが優れていることを示します。

p99 レイテンシ

操作の 99% がこのレイテンシ以下で完了することを示す値 (ミリ秒、ms)。

説明

p99 レイテンシは、システムのパフォーマンスの安定性を測定するための重要なメトリックです。値が低いほど、高負荷時のパフォーマンスが安定していることを示します。

テスト結果

128 の同時実行

重要

実行中に次の認証エラーが発生した場合:

  • "error: authentication failed [-ERR wrong number of arguments for 'auth'/'hello' command.]"

  • "error: authentication failed [-WRONGPASS invalid username-password pair or user is disabled.]"

これを解決するには、memtier_benchmark の公式ドキュメントの指定に従って認証パラメーターを修正してください。"-a $password""-a username:password" のフォーマットに置き換えます。username をご利用のユーザー名に、password をご利用のパスワードに置き換えてください。

128 バイトのテストコマンド

  1. 128 の同時接続と 128 バイトの値サイズでの Ping-Pong 書き込み専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 -n 2000000  --random-data --randomize --distinct-client-seed -d 128 --key-maximum=128000000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:0
  2. 128 の同時接続と 128 バイトの値サイズでの Ping-Pong 読み取り専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 -n 2000000  --random-data --randomize --distinct-client-seed -d 128 --key-maximum=128000000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=0:1
  3. 128 の同時接続と 128 バイトの値サイズでの Ping-Pong 読み取り/書き込みテスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 -n 2000000  --random-data --randomize --distinct-client-seed -d 128 --key-maximum=128000000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:1
  4. 128 の同時接続と 128 バイトの値サイズでのパイプライン書き込み専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 --pipeline=32 -n 2000000  --random-data --randomize --distinct-client-seed -d 128 --key-maximum=128000000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:0
  5. 128 の同時接続と 128 バイトの値サイズでのパイプライン読み取り専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 --pipeline=32 -n 2000000  --random-data --randomize --distinct-client-seed -d 128 --key-maximum=128000000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=0:1
  6. 128 の同時接続と 128 バイトの値サイズでのパイプライン読み取り/書き込みテスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 --pipeline=32 -n 2000000  --random-data --randomize --distinct-client-seed -d 128 --key-maximum=128000000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:1

1 KB のテストコマンド

  1. 128 の同時接続と 1 KB の値サイズでの Ping-Pong 書き込み専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 -n 200000 --random-data --randomize --distinct-client-seed -d 1024 --key-maximum=12800000 --key-minimum=1 --key-prefix=key_ --ratio=1:0
  2. 128 の同時接続と 1 KB の値サイズでの Ping-Pong 読み取り専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 -n 200000 --random-data --randomize --distinct-client-seed -d 1024 --key-maximum=12800000 --key-minimum=1 --key-prefix=key_ --ratio=0:1
  3. 128 の同時接続と 1 KB の値サイズでの Ping-Pong 読み取り/書き込みテスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 -n 200000 --random-data --randomize --distinct-client-seed -d 1024 --key-maximum=12800000 --key-minimum=1 --key-prefix=key_ --ratio=1:1
  4. 128 の同時接続と 1 KB の値サイズでのパイプライン書き込み専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 --pipeline=32 -n 200000 --random-data --randomize --distinct-client-seed -d 1024 --key-maximum=12800000 --key-minimum=1 --key-prefix=key_ --ratio=1:0
  5. 128 の同時接続と 1 KB の値サイズでのパイプライン読み取り専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 --pipeline=32 -n 200000 --random-data --randomize --distinct-client-seed -d 1024 --key-maximum=12800000 --key-minimum=1 --key-prefix=key_ --ratio=0:1
  6. 128 の同時接続と 1 KB の値サイズでのパイプライン読み取り/書き込みテスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 --pipeline=32 -n 200000 --random-data --randomize --distinct-client-seed -d 1024 --key-maximum=12800000 --key-minimum=1 --key-prefix=key_ --ratio=1:1

4 KB のテストコマンド

  1. 128 の同時接続と 4 KB の値サイズでの Ping-Pong 書き込み専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 -n 200000  --random-data --randomize --distinct-client-seed -d 4096 --key-maximum=12800000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:0
  2. 128 の同時接続と 4 KB の値サイズでの Ping-Pong 読み取り専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 -n 200000  --random-data --randomize --distinct-client-seed -d 4096 --key-maximum=12800000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=0:1
  3. 128 の同時接続と 4 KB の値サイズでの Ping-Pong 読み取り/書き込みテスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 -n 200000  --random-data --randomize --distinct-client-seed -d 4096 --key-maximum=12800000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:1
  4. 128 の同時接続と 4 KB の値サイズでのパイプライン書き込み専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 --pipeline=32 -n 200000  --random-data --randomize --distinct-client-seed -d 4096 --key-maximum=12800000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:0
  5. 128 の同時接続と 4 KB の値サイズでのパイプライン読み取り専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 --pipeline=32 -n 200000  --random-data --randomize --distinct-client-seed -d 4096 --key-maximum=12800000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=0:1
  6. 128 の同時接続と 4 KB の値サイズでのパイプライン読み取り/書き込みテスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 --pipeline=32 -n 200000  --random-data --randomize --distinct-client-seed -d 4096 --key-maximum=12800000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:1

16 KB のテストコマンド

  1. 128 の同時接続と 16 KB の値サイズでの Ping-Pong 書き込み専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 -n 200000  --random-data --randomize --distinct-client-seed -d 16384 --key-maximum=12800000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:0
  2. 128 の同時接続と 16 KB の値サイズでの Ping-Pong 読み取り専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 -n 200000  --random-data --randomize --distinct-client-seed -d 16384 --key-maximum=12800000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=0:1
  3. 128 の同時接続と 16 KB の値サイズでの Ping-Pong 読み取り/書き込みテスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 -n 200000  --random-data --randomize --distinct-client-seed -d 16384 --key-maximum=12800000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:1
  4. 128 の同時接続と 16 KB の値サイズでのパイプライン書き込み専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 --pipeline=32 -n 200000  --random-data --randomize --distinct-client-seed -d 16384 --key-maximum=12800000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:0
  5. 128 の同時接続と 16 KB の値サイズでのパイプライン読み取り専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 --pipeline=32 -n 200000  --random-data --randomize --distinct-client-seed -d 16384 --key-maximum=12800000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=0:1
  6. 128 の同時接続と 16 KB の値サイズでのパイプライン読み取り/書き込みテスト。

    memtier_benchmark -s $host -p $port -a $password -c 4 -t 32 --pipeline=32 -n 200000  --random-data --randomize --distinct-client-seed -d 16384 --key-maximum=12800000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:1

次の表にパフォーマンス結果の比較を示します。

テストシナリオ

QPS

平均レイテンシ (ms)

p99 レイテンシ (ms)

Ping-Pong 書き込み専用テスト (128 の同時実行、128 バイト)

115,179.72

1.09

3.12

Ping-Pong 読み取り専用テスト (128 の同時実行、128 バイト)

302,828.59

0.41

1.46

Ping-Pong 読み取り/書き込みテスト (128 の同時実行、128 バイト)

200,585.95

0.63

2.14

パイプライン書き込み専用テスト (128 の同時実行、128 バイト)

306,757.45

13.35

62.46

パイプライン読み取り専用テスト (128 の同時実行、128 バイト)

1,598,605.28

2.54

13.82

パイプライン読み取り/書き込みテスト (128 の同時実行、128 バイト)

272,943.49

15.00

58.62

Ping-Pong 書き込み専用テスト (128 の同時実行、1 KB)

91,244.76

1.40

6.46

Ping-Pong 読み取り専用テスト (128 の同時実行、1 KB)

310,197.23

0.41

1.46

Ping-Pong 読み取り/書き込みテスト (128 の同時実行、1 KB)

142,757.04

0.89

4.67

パイプライン書き込み専用テスト (128 の同時実行、1 KB)

195,675.57

21.03

232.45

パイプライン読み取り専用テスト (128 の同時実行、1 KB)

981,181.21

4.17

39.94

パイプライン読み取り/書き込みテスト (128 の同時実行、1 KB)

191,592.63

21.46

129.02

Ping-Pong 書き込み専用テスト (128 の同時実行、4 KB)

49,899.54

2.55

18.30

Ping-Pong 読み取り専用テスト (128 の同時実行、4 KB)

275,966.23

0.46

1.44

Ping-Pong 読み取り/書き込みテスト (128 の同時実行、4 KB)

86,027.86

1.48

14.40

パイプライン書き込み専用テスト (128 の同時実行、4 KB)

69,978.37

58.80

352.25

パイプライン読み取り専用テスト (128 の同時実行、4 KB)

497,229.35

8.22

68.61

パイプライン読み取り/書き込みテスト (128 の同時実行、4 KB)

97,213.70

42.25

352.25

Ping-Pong 書き込み専用テスト (128 の同時実行、16 KB)

6,225.02

20.82

84.99

Ping-Pong 読み取り専用テスト (128 の同時実行、16 KB)

166,434.33

0.78

1.44

Ping-Pong 読み取り/書き込みテスト (128 の同時実行、16 KB)

12,868.24

10.03

70.14

パイプライン書き込み専用テスト (128 の同時実行、16 KB)

6,542.18

627.00

2,981.89

パイプライン読み取り専用テスト (128 の同時実行、16 KB)

215,512.81

19.09

45.57

パイプライン読み取り/書き込みテスト (128 の同時実行、16 KB)

12,600.41

325.68

1,581.06

512 の同時実行

重要

実行中に次の認証エラーが発生した場合:

  • "error: authentication failed [-ERR wrong number of arguments for 'auth'/'hello' command.]"

  • "error: authentication failed [-WRONGPASS invalid username-password pair or user is disabled.]"

これを解決するには、memtier_benchmark の公式ドキュメントの指定に従って認証パラメーターを修正してください。"-a $password""-a username:password" のフォーマットに置き換えます。username をご利用のユーザー名に、password をご利用のパスワードに置き換えてください。

128 バイトのテストコマンド

  1. 512 の同時接続と 128 バイトの値サイズでの Ping-Pong 書き込み専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 -n 2000000  --random-data --randomize --distinct-client-seed -d 128 --key-maximum=512000000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:0
  2. 512 の同時接続と 128 バイトの値サイズでの Ping-Pong 読み取り専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 -n 2000000  --random-data --randomize --distinct-client-seed -d 128 --key-maximum=512000000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=0:1
  3. 512 の同時接続と 128 バイトの値サイズでの Ping-Pong 読み取り/書き込みテスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 -n 2000000  --random-data --randomize --distinct-client-seed -d 128 --key-maximum=512000000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:1
  4. 512 の同時接続と 128 バイトの値サイズでのパイプライン書き込み専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 --pipeline=32 -n 2000000  --random-data --randomize --distinct-client-seed -d 128 --key-maximum=512000000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:0
  5. 512 の同時接続と 128 バイトの値サイズでのパイプライン読み取り専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 --pipeline=32 -n 2000000  --random-data --randomize --distinct-client-seed -d 128 --key-maximum=512000000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=0:1
  6. 512 の同時接続と 128 バイトの値サイズでのパイプライン読み取り/書き込みテスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 --pipeline=32 -n 2000000  --random-data --randomize --distinct-client-seed -d 128 --key-maximum=512000000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:1

1 KB のテストコマンド

  1. 512 の同時接続と 1 KB の値サイズでの Ping-Pong 書き込み専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 -n 200000 --random-data --randomize --distinct-client-seed -d 1024 --key-maximum=51200000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:0
  2. 512 の同時接続と 1 KB の値サイズでの Ping-Pong 読み取り専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 -n 200000 --random-data --randomize --distinct-client-seed -d 1024 --key-maximum=51200000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=0:1
  3. 512 の同時接続と 1 KB の値サイズでの Ping-Pong 読み取り/書き込みテスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 -n 200000 --random-data --randomize --distinct-client-seed -d 1024 --key-maximum=51200000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:1
  4. 512 の同時接続と 1 KB の値サイズでのパイプライン書き込み専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 --pipeline=32 -n 200000 --random-data --randomize --distinct-client-seed -d 1024 --key-maximum=51200000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:0
  5. 512 の同時接続と 1 KB の値サイズでのパイプライン読み取り専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 --pipeline=32 -n 200000 --random-data --randomize --distinct-client-seed -d 1024 --key-maximum=51200000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=0:1
  6. 512 の同時接続と 1 KB の値サイズでのパイプライン読み取り/書き込みテスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 --pipeline=32 -n 200000 --random-data --randomize --distinct-client-seed -d 1024 --key-maximum=51200000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:1

4 KB のテストコマンド

  1. 512 の同時接続と 4 KB の値サイズでの Ping-Pong 書き込み専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 -n 200000  --random-data --randomize --distinct-client-seed -d 4096 --key-maximum=51200000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:0
  2. 512 の同時接続と 4 KB の値サイズでの Ping-Pong 読み取り専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 -n 200000  --random-data --randomize --distinct-client-seed -d 4096 --key-maximum=51200000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=0:1
  3. 512 の同時接続と 4 KB の値サイズでの Ping-Pong 読み取り/書き込みテスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 -n 200000  --random-data --randomize --distinct-client-seed -d 4096 --key-maximum=51200000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:1
  4. 512 の同時接続と 4 KB の値サイズでのパイプライン書き込み専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 --pipeline=32 -n 200000  --random-data --randomize --distinct-client-seed -d 4096 --key-maximum=51200000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:0
  5. 512 の同時接続と 4 KB の値サイズでのパイプライン読み取り専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 --pipeline=32 -n 200000  --random-data --randomize --distinct-client-seed -d 4096 --key-maximum=51200000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=0:1
  6. 512 の同時接続と 4 KB の値サイズでのパイプライン読み取り/書き込みテスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 --pipeline=32 -n 200000  --random-data --randomize --distinct-client-seed -d 4096 --key-maximum=51200000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:1

16 KB のテストコマンド

  1. 512 の同時接続と 16 KB の値サイズでの Ping-Pong 書き込み専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 -n 200000  --random-data --randomize --distinct-client-seed -d 16384 --key-maximum=51200000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:0
  2. 512 の同時接続と 16 KB の値サイズでの Ping-Pong 読み取り専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 -n 200000  --random-data --randomize --distinct-client-seed -d 16384 --key-maximum=51200000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=0:1
  3. 512 の同時接続と 16 KB の値サイズでの Ping-Pong 読み取り/書き込みテスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 -n 200000  --random-data --randomize --distinct-client-seed -d 16384 --key-maximum=51200000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:1
  4. 512 の同時接続と 16 KB の値サイズでのパイプライン書き込み専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 --pipeline=32 -n 200000  --random-data --randomize --distinct-client-seed -d 16384 --key-maximum=51200000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:0
  5. 512 の同時接続と 16 KB の値サイズでのパイプライン読み取り専用テスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 --pipeline=32 -n 200000  --random-data --randomize --distinct-client-seed -d 16384 --key-maximum=51200000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=0:1
  6. 512 の同時接続と 16 KB の値サイズでのパイプライン読み取り/書き込みテスト。

    memtier_benchmark -s $host -p $port -a $password -c 16 -t 32 --pipeline=32 -n 200000  --random-data --randomize --distinct-client-seed -d 16384 --key-maximum=51200000 --key-minimum=1 --key-prefix= --key-pattern=R:R --ratio=1:1

次の表にパフォーマンス結果の比較を示します。

テストシナリオ

QPS

平均レイテンシ (ms)

p99 レイテンシ (ms)

Ping-Pong 書き込み専用テスト (512 の同時実行、128 バイト)

85,516.58

5.98

60.16

Ping-Pong 読み取り専用テスト (512 の同時実行、128 バイト)

320,063.10

1.60

14.72

Ping-Pong 読み取り/書き込みテスト (512 の同時実行、128 バイト)

208,489.07

2.46

22.53

パイプライン書き込み専用テスト (512 の同時実行、128 バイト)

116,795.27

140.16

2,834.43

パイプライン読み取り専用テスト (512 の同時実行、128 バイト)

323,316.82

50.77

436.22

パイプライン読み取り/書き込みテスト (512 の同時実行、128 バイト)

205,215.89

79.93

2,719.74

Ping-Pong 書き込み専用テスト (512 の同時実行、1 KB)

95,896.76

5.36

36.86

Ping-Pong 読み取り専用テスト (512 の同時実行、1 KB)

498,535.49

1.04

5.02

Ping-Pong 読み取り/書き込みテスト (512 の同時実行、1 KB)

187,732.88

2.75

19.20

パイプライン書き込み専用テスト (512 の同時実行、1 KB)

149,738.66

109.44

1,024.00

パイプライン読み取り専用テスト (512 の同時実行、1 KB)

929,717.39

17.73

137.22

パイプライン読み取り/書き込みテスト (512 の同時実行、1 KB)

208,624.31

78.35

1,277.95

Ping-Pong 書き込み専用テスト (512 の同時実行、4 KB)

38,969.61

13.17

111.61

Ping-Pong 読み取り専用テスト (512 の同時実行、4 KB)

408,631.46

1.28

4.67

Ping-Pong 読み取り/書き込みテスト (512 の同時実行、4 KB)

78,955.68

6.50

71.68

パイプライン書き込み専用テスト (512 の同時実行、4 KB)

48,330.42

339.82

3,948.54

パイプライン読み取り専用テスト (512 の同時実行、4 KB)

494,936.80

33.53

243.71

パイプライン読み取り/書き込みテスト (512 の同時実行、4 KB)

83,907.15

195.16

3,112.96

Ping-Pong 書き込み専用テスト (512 の同時実行、16 KB)

6,439.60

79.68

245.76

Ping-Pong 読み取り専用テスト (512 の同時実行、16 KB)

211,629.97

2.44

15.17

Ping-Pong 読み取り/書き込みテスト (512 の同時実行、16 KB)

12,453.06

41.15

216.06

パイプライン書き込み専用テスト (512 の同時実行、16 KB)

6,586.62

2,503.77

40,894.46

パイプライン読み取り専用テスト (512 の同時実行、16 KB)

208,420.70

79.56

708.61

パイプライン読み取り/書き込みテスト (512 の同時実行、16 KB)

13,054.47

1,260.14

15,269.89

結論

  • PolarDB の Orca 機能は、PolarDB for MySQL の分散ストレージアーキテクチャと 3 レプリカ冗長化メカニズムを活用して、データ損失を防ぎます。

  • パイプラインシナリオでは、PolarDB の Orca 機能は、広範な集約最適化を使用してシステムのスループットを大幅に向上させます。必要に応じてパイプラインモードを選択できます。