Data Import on Aurora Serverless

Data Import on Aurora Serverless

Overview

This page is created to investigate Aurora serverless performance by comparing DB xlarge, 8xlarge and Aurora serverless instance types under load running Data Import (DI) with Check-in Check-out (CICO) running as background. 

Summary

  • The environment can handle the load with all compared DB instance types. 

  • No significant changes were observed comparing response times for CICO between two instance types db.r6g.xlarge and serverless. 

  • In Aurora serverless DI duration better for larger DI files.

  • Serverless v2 (32 - 128 ACUs) DB instance type configuration performs better from the start than (0.5 - 128 ACUs) due to increased capacity and its performance closer to 8xlarge. But to cut costs it's better to use (0.5 - 128 ACUs) for DB reader instance role. 

  • Aurora serverless RDS CPU didn't exceed 25% for any file size. Execution time or test duration has tendency to decreasing for bigger file size because of bigger ACUs.

  • Time duration of DI without CICO didn't change after task count: mod-inventory, mod-inventory-storage, mod-circulation, mod-circulation-storage x 4.

Results

The table includes test results from running on different database instance types Here we observe that RDS CPU utilization for db.r6g.xlarge has maximum values and test duration grows proportional to file size.

But after database was switched to Aurora serverless RDS CPU didn't exceed 25% for any file size. Execution time or test duration has tendency to decreasing for bigger file size because of bigger ACUs.

DI CICO Total results

Create
Job profile: Default - Create instance and SRS MARC Bib

RDS

db.r6g.8xlarge

RDS

db.r6g.xlarge

Serverless

Serverless v2 (0.5 - 128 ACUs)

Serverless

Serverless v2 (32 - 128 ACUs)





Users

File - Records

Duration (CICO)

Max CPU utilization

Duration

Max CPU utilization

Duration

Max CPU utilization

Duration

ACUs

Max CPU utilization

Duration

1


DI Create



10k



37

27

00:05:15

00:03:21

96

00:09:59

17

00:10:07



16

00:07:17 ↓ 28%





25k



45

30

00:10:04

00:08:08

96

00:18:19

24

00:13:43



22

00:11:44 ↓ 15%





50k



30

00:15:54

93

00:37:05

25

00:22:57



24

00:20:01 ↓ 11%

2

CICO + DI Create

20

10k

90 min

39

00:04:32

94

00:08:08

19

00:09:12











25k



47

00:09:01

96

00:19:21

26

00:14:30







3




CICO DI Create

JP: PTF - Create 2

20

10k

90 min





94

00:09:56

14

00:13:22

19









25k







94

00:21:06

24

00:23:49

25





CICO DI Update

JP: PTF - Updates Success - 1

20

10k

90 min





70

00:12:31

12

00:17:44

12









25k







70

00:29:12

12

00:31:35

13





RDS CPU Utilization

RDS CPU Utilization



8xlarge

xlarge

serverless

RDS

CPU starts with spikes at the beginning of the tests and comes to normal after finish.



Test date: 2023-05-25

For xlarge database instance type CPU was maximum but it didn't affect DI any way. So it ran successfully 

Test date: 2023-05-29

For serverless CPU was stable and was not higher than 25%



Test date: 2023-05-30

Service

Data imports during CICO. The services worked stable and returned to there normal state after tests

CICO background process didn't affect DI and it worked as expected



Stable work of services



CICO resource consumption

Running tests for CICO https://folio-org.atlassian.net/browse/PERF-593 I could observe that xlarge used more DB connections than any of DB instance types. The results mentioned in summary table show better response times over time for runs with 20 users. And no significant changes between different DB instance types. High latency was observed for all tests.

Testing results for CICO

Test date: 2023-06-02

LG: us-west-2a

RDS (db.r6g.xlarge)



RDS (db.r6g.8xlarge)



Serverless v2 (0.5 - 128 ACUs)





Serverless v2 (32 - 128 ACUs)









Users

Duration (CICO)

RDS max CPU utilization

DB connections

RDS max CPU utilization

DB connections

RDS max CPU utilization

ACUs

DB connections

RDS max CPU utilization

ACUs

DB connections

1

CICO

8

30 min

16

460

2

364

2.5

7.5

380

1.5

32

380





20

30 min

21

430

2.5

378

4.7

6.2

396

2

32

380

CICO Graphs



db.r6g.xlarge

db.r6g.8xlarge

Serverless v2 (0.5 - 128 ACUs)

Serverless v2 (32 - 128 ACUs)



db.r6g.xlarge

db.r6g.8xlarge

Serverless v2 (0.5 - 128 ACUs)

Serverless v2 (32 - 128 ACUs)

Response Times Over Time

8 users

20 users

8 users

20 users

8 users

20 users

8 users

20 users

Throughput

8 users

20 users

8 users

20 users

8 users

20 users

8 users

20 users

RDS CPU utilization

8 users

20 users

8 users

20 users

8 users

20 users

8 users

20 users

Service CPU utilization

8 users

20 users

8 users

20 users

8 users

20 users

8 users

20 users

Summary table for CICO





8 users



20 users



Requests

% KO

75th pct

95th pct

Average

Latency



% KO

75th pct

95th pct

Average

Latency