Table of Contents
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.
Ticket:
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
...
Table of Contents
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.
Ticket:
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
Summary
- Tests showed that there is slight performance improvement for DI itself and DI with CICO comparing xlarge and 0.5-128 ACU. Show more details...
- For CICO itself and CICO together with DI there is no significant influence of using serverless configuration. Show more details...
- Serverless DB configuration consumes more CPU resources and less DB resources than RDS configuration comparing Serverless (0.5 - 128 ACUs) and RDS db.r6g.xlarge configurations. Show more details...
- Serverless DB configuration consumes less CPU and DB resources than RDS configuration comparing Serverless (32 - 128 ACUs) and RDS db.r6g.8xlarge configurations. Show more details...
As a conclusion, there is no much degradation with usage of serverless DB. According to the results, it could be an adequate replacement for regular RDS.
Tests
Job profiles - PTF - Create 2, PTF - Updates Success - 1
Scenario | Data quantity |
---|---|
DI Create, DI Update (coherently) | 25K |
DI Create, DI Update (coherently) with CICO in parallel | DI - 25K CICO - 20 users |
CICO | 20 users |
...
DB type | DB configuration |
---|---|
RDS | db.r6g.xlarge |
db.r6g.8xlarge | |
Serverless | Serverless v2 (0.5 - 128 ACUs) |
Serverless v2 (32 - 128 ACUs) |
Results
At the table below next results are compared: RDS xlarge agains against 0.5-128 ACU Serverless and RDS 8xlarge agains against 32-128 ACU Serverless (marked by color).
Process/request | RDS | Serverless | ||
---|---|---|---|---|
xlarge | 8xlarge | 0.5-128 ACU | 32-128 ACU | |
DI Create | 18 min | 9 min | 11 min (-7 min) | 14 min (+5 min) |
DI Update | 17 min | 10 min | 16 min (-1 min) | 11 min (+1 min) |
DI Create (with CICO in parallel) | 22 min | 9 min | 20 min (-2 min) | 11 min (+2 min) |
DI Update (with CICO in parallel) | 22 min, error* | 12 min | 25 min, error** (+3 min) | 12 min (0 min) |
CI, 95% | 0.68 | 0.718 | 0.806 (+0.126 sec) | 0.794 (+0.076 sec) |
CO, 95% | 1.247 | 1.251 | 1.393 (+0.146 min, error** (+3 min) | 12 min (0 min) |
CI, 95% | 0.68 | 0.718 | 0.806 (+0.126 sec) | 0.794 (+0.076 sec) |
CO, 95% | 1.247 | 1.251 | 1.393 (+0.146 sec) | 1.312 (+0.061 sec) |
CI (with DI Update in parallel), 95% | 1.36 | 1.193 | 1.277 (-0.083 sec) | 1.11 (-0.083 sec) |
CO (with DI Update in parallel), 95% | 2.335 | 2.062 | 2.321 (-0.014 sec) | 1.312 963 (+-0.061 099 sec) |
CI (with DI Update in parallel), 95% | 1.36 | 1.193 | 1.277 (-0.083 sec) | 1.11 (-0.083 sec) |
CO (with DI Update in parallel), 95% | 2.335 | 2.062 | 2.321 (-0.014 sec) | 1.963 (-0.099 sec) |
*some records were discarded
**Error - io.vertx.core.impl.NoStackTraceThrowable
...
*some records were discarded
**Error - io.vertx.core.impl.NoStackTraceThrowable
Response time
db.r6g.xlarge DI with CICO
There are more response time spikes during the test with xlarge configuration comparing to the tests with 8xlarge.
db.r6g.8xlarge DI with CICO
Serverless v2 (0.5 - 128 ACUs) DI with CICO
There is a spike at the beginning of DI Update job. This can be connected to mod-audit CPU increase at this moment.
Serverless v2 (32 - 128 ACUs) DI with CICO
Service CPU Utilization
db.r6g.xlarge DI without CICO
Maximum CPU utilization - 80% DI Create, 120% DI Update
db.r6g.xlarge DI with CICO
There are more response time spikes during the test with xlarge configuration comparing to the tests with 8xlarge.
Maximum CPU utilization - 75% DI Create, 100% DI Update
db.r6g.8xlarge DI
...
Serverless v2 (0.5 - 128 ACUs) DI with CICO
There is a spike at the begining of DI Update job. This can be connected ot mod-audit CPU increase at this moment.
...
without CICO
Maximum CPU utilization - 135% DI Create, 160% DI Update
db.r6g.8xlarge DI with CICO
Maximum CPU utilization - 150% DI Create, 200% DI Update
Serverless v2 (0.5 - 128 ACUs) DI
...
without CICO
Service CPU Utilization
db.r6g.xlarge DI without CICO
db.r6g.xlarge DI with CICO
db.r6g.8xlarge DI without CICO
db.r6g.8xlarge DI with CICO
Maximum CPU utilization - 110% DI Create, 125% DI Update
Serverless v2 (0.5 - 128 ACUs) DB configuration consumes more CPU resources than RDS db.r6g.xlarge configuration (110%-125% compared to 80%-120%).
Serverless v2 (0.5 - 128 ACUs) DI
...
with CICO
Maximum CPU utilization - 100% DI Create, 105% DI Update
Serverless v2 (
...
32 - 128 ACUs) DI
...
without CICO
Maximum CPU utilization - 100% DI Create, 150% DI Update
Serverless v2 (32 - 128 ACUs
...
) DB configuration consumes less CPU resources than RDS db.r6g.8xlarge configuration (100%-150% compared to 135%-160%).
Serverless v2 (32 - 128 ACUs) DI with CICO
Maximum CPU utilization - 100% DI Create, 160% DI Update
Memory Utilization
db.r6g.xlarge without DI CICO
db.r6g.xlarge DI with CICO
db.r6g.8xlarge DI without CICO
db.r6g.8xlarge DI with CICO
Serverless v2 (0.5 - 128 ACUs) DI without CICO
Serverless v2 (0.5 - 128 ACUs) DI with CICO
Serverless v2 (32 - 128 ACUs) DI without CICO
Serverless v2 (32 - 128 ACUs) DI with CICO
DB CPU Utilization
db.r6g.xlarge DI without CICO
Maximum DB CPU utilization - 90%
db.r6g.xlarge DI with CICO
Maximum DB CPU utilization - 90%
db.r6g.8xlarge DI without CICO
Maximum DB CPU utilization - 37%
db.r6g.
...
8xlarge DI with CICO
...
...
Maximum DB CPU utilization - 37%
Serverless v2 (0.5 - 128 ACUs) DI without CICO
Maximum DB CPU utilization - 30%
Serverless v2 (0.5 - 128 ACUs) DB configuration consumes less DB CPU resources than RDS db.r6g
...
.xlarge configuration (30% compared to 90%).
Serverless v2 (0.5 - 128 ACUs) DI
...
with CICO
Maximum DB CPU utilization - 25%
Serverless v2 (
...
32 - 128 ACUs) DI
...
without CICO
Maximum DB CPU utilization - 25%
Serverless v2 (32 - 128 ACUs
...
) DB configuration consumes slightly less DB CPU resources than RDS db.r6g.8xlarge configuration (25% compared to 37%).
Serverless v2 (32 - 128 ACUs) DI with CICO
Maximum DB CPU utilization - 25%
DB Connections
db.r6g.xlarge DI without CICO
db.r6g.xlarge DI with CICO
db.r6g.8xlarge DI without CICO
db.r6g.8xlarge DI with CICO
Serverless v2 (0.5 - 128 ACUs) DI without CICO
Serverless v2 (0.5 - 128 ACUs) DI with CICO
Serverless v2 (32 - 128 ACUs) DI without CICO
Serverless v2 (32 - 128 ACUs) DI with CICO
Database load
db.r6g.8xlarge DI without CICO
db.r6g.8xlarge DI with CICO
Serverless v2 (32 - 128 ACUs) DI without CICO
Serverless v2 (32 - 128 ACUs) DI with CICO
Appendix
Links
Grafana dashboard
db.r6g.xlarge DI with CICO
db.r6g.8xlarge DI with CICO
Serverless v2 (0.5 - 128 ACUs) DI with CICO
Serverless v2 (32 - 128 ACUs) DI with CICO
...