このトピックでは、「テスト計画」トピックで詳述されているパフォーマンステストの結果について説明します。
背景情報
このトピックのテスト結果は、Alibaba CloudパブリッククラウドにデプロイされたHologresインスタンスで実行されたテストから取得されました。
100 GBのTPC-Hデータセットを使用したテストの結果
次の表に、各テーブルの行数とTPC-Hパフォーマンステストで使用されたインスタンス仕様を示します。
各テーブルの行数
テーブル名
行数
LINEITEM
600,037,902
ORDERS
150,000,000
PARTSUPP
80,000,000
PART
15,000,000
CUSTOMER
20,000,000
SUPPLIER
1,000,000
NATION
25
REGION
5
インスタンス仕様
コンピューティングリソース
ゾーン
備考
64 CU(64 CPU コア、256 GB のメモリ)
杭州ゾーンJ
インスタンスのデフォルト設定を使用します。シャード数は 40 です。
128 CU(128 CPU コア、512 GB のメモリ)
杭州ゾーンJ
インスタンスのデフォルト設定を使用します。シャード数は 80 です。
テスト結果
OLAP クエリパフォーマンス
Hologres 内部テーブルからデータをクエリするために必要な時間は、秒単位で測定されます。次の表に、Hologres での各クエリの実行時間を示します。 インスタンスの仕様が向上するにつれて、実行時間は線形的に減少します。
TPC-H
クエリ ID
TPC-H 100 GB
TPC-H 100 GB
64 CU(V3.1.3)
128 CU(V3.1.3)
64 CU(V2.2.19)
128 CU(V2.2.19)
1
0.48
0.36
0.55
0.34
2
0.19
0.18
0.17
0.15
3
0.43
0.28
0.38
0.29
4
0.26
0.15
0.32
0.19
5
0.53
0.41
0.68
0.48
6
0.1
0.12
0.10
0.08
7
0.48
0.34
0.55
0.36
8
0.48
0.37
0.51
0.38
9
1.52
0.91
1.62
1.00
10
0.81
0.43
0.69
0.47
11
0.19
0.17
0.37
0.32
12
0.19
0.14
0.22
0.15
13
0.53
0.36
0.67
0.37
14
0.19
0.13
0.19
0.13
15
0.34
0.19
0.36
0.23
16
0.35
0.29
0.41
0.33
17
0.21
0.18
0.22
0.16
18
1.57
0.89
2.02
0.94
19
0.26
0.19
0.25
0.17
20
0.24
0.22
0.24
0.27
21
0.79
0.56
1.03
0.63
22
0.26
0.18
0.28
0.22
合計
10.4
7.05
11.83
7.66
Key/Value ポイントクエリパフォーマンス
テスト結果は、Hologres 内部テーブルのクエリに基づいています。 ソフトウェアバージョンは r1.1.42 です。 各タイプのクエリは 5 分間連続して実行されます。 次の表に、テスト結果の具体的な値を示します。 インスタンスの仕様が向上するにつれて、QPS は線形的に増加します。
シナリオ
サンプル SQL 文
インスタンス仕様
同時クライアント数
QPS (接続時間を含む)
QPS (接続時間を含まない)
平均クエリレイテンシ
1
SELECT O_ORDERKEY ,O_CUSTKEY ,O_ORDERSTATUS ,O_TOTALPRICE ,O_ORDERDATE ,O_ORDERPRIORITY ,O_CLERK ,O_SHIPPRIORITY ,O_COMMENT FROM public.orders_row WHERE o_orderkey = {parameter} ;64 CU
500
112,435
112,443
4.447 ms
128 CU
1,000
242,755
242,772
4.119 ms
2
SELECT O_ORDERKEY ,O_CUSTKEY ,O_ORDERSTATUS ,O_TOTALPRICE ,O_ORDERDATE ,O_ORDERPRIORITY ,O_CLERK ,O_SHIPPRIORITY ,O_COMMENT FROM public.orders_row WHERE o_orderkey in ( {parameter1}, {parameter2}, {parameter3}, {parameter4}, {parameter5}, {parameter6}, {parameter7}, {parameter8}, {parameter9} );64 CU
500
27,632
27,634
18.094 ms
128 CU
1,000
90,086
90,092
11.100 ms
データ書き込みパフォーマンス
インポート時間は、Hologres 内部テーブルにデータをインポートするために必要な時間で、秒単位で測定されます。次の表に、64 CU の計算リソースを提供するさまざまなシナリオでのインポート時間を示します。
説明COPYステートメントを実行してデータをインポートする場合、データは一度に 1 つのファイルからHologresの 1 つのテーブルにインポートされます。同時インポートは使用できません。
テーブル名
行数
データサイズ
COPY を使用してインターネット経由でデータをインポートするために必要な時間
COPY を使用して VPC 内でデータをインポートするために必要な時間
MaxCompute 外部テーブルを使用してデータをインポートするために必要な時間
LINEITEM
600,037,902
73.6 GB
3,070.453
694.364
148.165
ORDERS
150,000,000
16.4 GB
691.060
172.529
37.741
PARTSUPP
80,000,000
2.3 GB
468.560
107.092
18.488
PART
20,000,000
11.3 GB
96.342
24.020
8.083
CUSTOMER
15,000,000
2.3 GB
95.190
22.937
10.363
SUPPLIER
1,000,000
132 MB
5.057
1.803
1.503
NATION
25
2 KB
0.580
0.584
0.747
REGION
5
0.375 KB
0.168
0.153
0.430
ORDERS_ROW
150,000,000
16.4 GB
717,653
143.800
25.676
合計
122.4 GB
722,080.410
1,167.282
251.196
次の棒グラフでは、青色の棒はCOPYステートメントを使用してインターネット経由でデータをインポートするために必要な時間を示しています。緑色の棒は、COPYステートメントを使用して仮想プライベートクラウド(VPC)でデータをインポートするために必要な時間を示しています。灰色の棒は、MaxCompute外部テーブルを使用してデータをインポートするために必要な時間を示しています。Y軸の値が小さいほど、インポート速度が速いことを示します。
説明X軸はテーブル名を表し、Y軸は秒単位で測定されたインポート時間を表します。
棒グラフに基づいて、次の結論を導き出すことができます。
COPYステートメントを実行してデータをインポートする場合、インポート時間は帯域幅の影響を受けます。VPCでデータをインポートするために必要な時間は、インターネット経由でデータをインポートするために必要な時間よりも短くなります。
MaxCompute外部テーブルを使用してデータをインポートするために必要な時間は、COPYステートメントを実行してデータをインポートするために必要な時間よりも短くなります。

データ更新パフォーマンス
テスト結果は、Hologres 内部テーブルのデータ更新に基づいています。 ソフトウェアバージョンは r1.1.42 です。 各タイプのクエリは 5 分間連続して実行されます。 次の表に、テスト結果の具体的な値を示します。 インスタンスの仕様が大きくなるにつれて、QPS は線形に増加します。
SQLステートメントのサンプル
インスタンス仕様
同時クライアント数
QPS (接続時間込み)
QPS (接続時間除く)
平均クエリレイテンシ
INSERT INTO public.orders_row( o_orderkey ,o_custkey ,o_orderstatus ,o_totalprice ,o_orderdate ,o_orderpriority ,o_clerk ,o_shippriority ,o_comment ) VALUES ( {parameter} ,1 ,'demo' ,1.1 ,'2021-01-01' ,'demo' ,'demo' ,1 ,'demo') on conflict(o_orderkey) do update set ( o_orderkey ,o_custkey ,o_orderstatus ,o_totalprice ,o_orderdate ,o_orderpriority ,o_clerk ,o_shippriority ,o_comment )= ROW(excluded.*); // クエリのパラメータを指定します。64 CU
500
92,006
92,000
5.435 ms
128 CU
1,000
191,761
191,771
5.215 ms
1 TBのTPC-Hデータセットを使用したテストの結果
次の表に、各テーブルの行数とTPC-Hパフォーマンステストで使用されたインスタンス仕様を示します。
各テーブルの行数
テーブル名
行数
データサイズ
LINEITEM
5,999,989,709
752.27 GB
ORDERS
1,500,000,000
167.11 GB
PARTSUPP
800,000,000
114.45 GB
PART
150,000,000
22.94 GB
CUSTOMER
200,000,000
22.85 GB
SUPPLIER
10,000,000
1.33 GB
NATION
25
2.15 KB
REGION
5
0.38 KB
インスタンス仕様
コンピューティングリソース
ストレージ容量
備考
96 CU
(96 CPUコア、384 GBメモリ)
1,000 GB
インスタンスのデフォルト設定を使用します。シャード数は 60 です。
テスト結果: OLAP クエリ パフォーマンス
Hologres 内部テーブルのデータをクエリするのに必要な時間は、秒単位で測定されます。次の表に、Hologres での各クエリのの実行時間を示します。
TPC-HクエリID
クエリ時間 (V4.0.4)
クエリ時間 (V3.1.3)
クエリ時間 (V3.0.5)
1
3.07
3.00
8.47
2
0.34
0.39
0.36
3
3.98
3.60
5.77
4
1.53
1.78
1.71
5
4.55
4.68
7.65
6
0.27
0.32
0.34
7
3.48
3.25
3.56
8
1.97
2.34
5.61
9
13.28
13.94
16.83
10
4.33
5.89
5.61
11
1.79
2.42
2.23
12
0.69
0.93
0.84
13
4.56
4.58
5.78
14
0.78
0.83
0.79
15
1.87
1.96
2.27
16
2.02
1.85
1.64
17
0.93
1.05
4.64
18
11.51
13.08
13.74
19
0.86
1.45
3.00
20
0.76
1.22
0.95
21
4.73
5.15
7.20
22
2.72
2.57
2.17
合計
69.99
76.27
101.16
Realtime Compute for Apache Flinkを使用してリアルタイムでHologresにデータを書き込むテスト結果
データセット情報
Hologresインスタンス
コンピューティングリソース
ソフトウェアバージョン
備考
64 CU(64 CPU コア、256 GB メモリ)
r1.1.53
インスタンスのデフォルト設定を使用します。シャード数は 40 です。
フルマネージドFlink
エンジンバージョン
vvr-4.0.12-flink-1.13
設定モード
基本モード
並列度
15
Job Manager CPU
1
Job Manager メモリ
1 GiB
Task Manager CPU
1
Task Manager メモリ
6 GiB
テスト結果
次の図はテスト結果を示しています。 2022 年 4 月 8 日 19:35 から 19:50 まで、1 秒あたりの最大レコード数(RPS)は
580,234で、最小 RPS は357,729です。
