This topic describes the results of performance tests detailed in the "Test plan" topic.
Background information
The test results in this topic were obtained from tests performed in a Hologres instance deployed on Alibaba Cloud public cloud.
The following tables describe the number of rows in each table and instance specifications used for TPC-H performance tests.
Results of tests that use a TPC-H dataset of 100 GB
The following tables describe the number of rows in each table and instance specifications used for TPC-H performance tests.
Number of rows in each table:
Table name
Number of rows
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
Instance specifications:
Computing resource
Zone
Note
64 CUs (64 CPU cores and 256 GB of memory)
China (Hangzhou) Zone J
Use the default configurations of the instance. The number of shards is 40.
128 CUs (128 CPU cores and 512 GB of memory)
China (Hangzhou) Zone J
Use the default configurations of the instance. The number of shards is 80.
Test Results
OLAP query performance
The time required to query data from Hologres internal tables is measured in seconds. The following table describes the execution duration of each query in Hologres. Higher instance specifications result in shorter execution durations for each query.
TPCH
Query number
TPCH 100G
TPCH 100G
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
Total
10.4
7.05
11.83
7.66
Key/Value point query performance
The test results are based on queries in Hologres internal tables. The version of Hologres is V1.1.42. Each type of query runs continuously for 5 minutes. The following table shows the specific values in the test results. As the instance scale increases, the QPS increases almost linearly.
Scenario
Sample SQL
Instance type
Number of concurrent clients
QPS (including connection time)
QPS (excluding connection time)
Average query latency
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} ;
64CU
500
112,435
112,443
4.447 ms
128CU
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} );
64CU
500
27,632
27,634
18.094 ms
128CU
1,000
90,086
90,092
11.100 ms
Data write performance
The import time indicates the amount of time required to import data to Hologres, measured in seconds. The following table describes the import time in different scenarios that provide 64 CUs of computing resources.
NoteIf you execute the COPY statement to import data, data is imported from one file to one table in Hologres at a time. Concurrent import is unavailable.
Table name
Number of rows
Data size
Import over the Internet by using the COPY statement
Import in a VPC by using the COPY statement
Import by using a MaxCompute foreign table
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
Total
122.4 GB
722,080.410
1,167.282
251.196
In the following bar chart, a blue bar indicates the time required to import data over the Internet using the COPY statement. A green bar indicates the time required to import data in a virtual private cloud (VPC) using the COPY statement. A gray bar indicates the time required to import data using a MaxCompute foreign table.
NoteThe x-axis represents the table name, and the y-axis represents the import time measured in seconds.
Based on the chart below:
If you execute the COPY statement to import data, the import time is affected by the bandwidth. The time required to import data in a VPC is shorter than the time required to import data over the Internet.
The time required to import data using a MaxCompute foreign table is shorter than the time required to import data by executing the COPY statement.
Data update performance
The test results are based on data updates in Hologres internal tables. The version of Hologres is V1.1.42. Each type of query runs continuously for 5 minutes. The following table shows the specific values in the test results. As the instance scale increases, the QPS increases almost linearly.
Sample SQL
Instance type
Number of concurrent clients
QPS (including connection time)
QPS (excluding connection time)
Average query latency
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.*);
64CU
500
92,006
92,000
5.435 ms
128CU
1,000
191,761
191,771
5.215 ms
Results of tests that use a TPC-H dataset of 1 TB
The following tables describe the number of rows in each table and instance specifications used for TPC-H performance tests.
Number of rows in each table:
Table name
Number of rows
Data size
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
Instance specifications:
Computing resource
Storage capacity
Note
96 CU
(96 CPU cores and 384 GB of memory)
1000 GB
Use the default configurations of the instance. The number of shards is 60.
Test results: OLAP query performance
The amount of time required to query data in Hologres internal tables is measured in seconds. The following table describes the execution duration of each query in Hologres.
TPCH Query number
Query time (V3.1.3)
Query time (V3.0.5)
1
3.00
8.47
2
0.39
0.36
3
3.60
5.77
4
1.78
1.71
5
4.68
7.65
6
0.32
0.34
7
3.25
3.56
8
2.34
5.61
9
13.94
16.83
10
5.89
5.61
11
2.42
2.23
12
0.93
0.84
13
4.58
5.78
14
0.83
0.79
15
1.96
2.27
16
1.85
1.64
17
1.05
4.64
18
13.08
13.74
19
1.45
3.00
20
1.22
0.95
21
5.15
7.20
22
2.57
2.17
Total
76.28
101.16
Test results of using Realtime Compute for Apache Flink to write data to Hologres in real time
Dataset specifications
Hologres instance
Computing resource
Software version
Note
64 CUs (CPU: 64 Core, memory: 256 GB)
r1.1.53
Use the default configurations of the cluster. The number of shards is 40.
Fully managed Flink
Engine version
vvr-4.0.12-flink-1.13
Configuration mode
Basic mode
Number of concurrent threads
15
Job Manager CPU
1
Job Manager Memory
1 Gi
Task Manager CPU
1
Task Manager Memory
6 Gi
Test results
The test results are shown below. From the beginning of the test at 19:35 on April 8, 2022 to 19:50 on April 8, 2022, the maximum RPS was
580,234
, and the minimum value was357,729
.