[Poppy] List App with multiple workflows and R/W split disabled test report
- 1 Overview
- 2 Summary
- 3 Test runs
- 4 Results
- 5 Grafana results
- 5.1 DI + CICO
- 5.2 ListApp + DI + CICO
- 6 Instance CPU Utilization
- 6.1 ListApp
- 6.2 DI + CICO
- 6.3 ListApp + DI + CICO
- 7 Service CPU Utilization
- 7.1 ListApp
- 7.2 DI + CICO
- 7.3 ListApp + DI + CICO
- 8 Memory Utilization
- 8.1 ListApp
- 8.2 DI + CICO
- 8.3 ListApp + DI + CICO
- 9 DB CPU Utilization
- 9.1 ListApp
- 9.2 DI + CICO
- 9.3 ListApp + DI + CICO
- 10 DB Load
- 10.1 ListApp
- 10.2 DI + CICO
- 10.3 ListApp + DI + CICO
- 11 Appendix
- 11.1 Infrastructure
- 11.2 Additional info
- 11.3 Methodology
Overview
This document contains the results of testing List App refreshing of 200k records with multiple parallel workflows (Check-in/Check-out and Data import) in the Poppy release. The goal of testing is to assess the performance of mod-lists along with other workflows (CICO and DI) and to measure mod-lists's impact on other modules
Ticket:
Summary
ListApp refreshing duration is about 8.5 min when testing separately from other workflows. With Data Import and Check-in/Check-out scenarios added ListApp duration has +108% increase and reaches 17.7 min. It's above the expected value of 10 minutes.
Data Import and Check-in/Check-out response times have increase about 10-20% with ListApp scenario added.
According to the results, maximum CPU utilization for DI + CICO test is about 85%, while with ListApp scenario added CPU reaches 160%.
RDS CPU utilizatoin is about 95% for DI+CICO test and it doesn't increase with ListApp scenario added.
Test runs
Query used in lists - "Item status == Checked out". List refresh result is 200K records.
Scenario | Data quantity |
|---|---|
List App + Check-in/Check-out + Data Import Create* | ListApp - 10 users CICO - 20 users DI - 25k |
Check-in/Check-out + Data import* | CICO - 20 users DI - 25k |
List App | ListApp - 10 users |
*PTF Create 2 job was used for DI scneario
Results
Transaction | Duration | Degradation | ||
|---|---|---|---|---|
[Orchid] Testing separately | [Poppy] Testing separately (ListApp and DI+CICO) | [Poppy] Testing in parallel | ||
ListApp refresh, avg | from 9 min 40 sec to 10 min 40 sec | 8.5 min | 17.7 min | +108% |
Check-in, avg |
| 1.173 sec | 1.290 sec | +9.9% |
Check-out, avg |
| 1.648 sec | 1.948 sec | +18.2% |
DI Create 25k |
| 18 min | 22 min | +22% |
Grafana results
DI + CICO
ListApp + DI + CICO
Instance CPU Utilization
ListApp
DI + CICO
ListApp + DI + CICO
Service CPU Utilization
According to the results, maximum CPU utilization for DI + CICO test is about 85%, while with ListApp scenario added CPU reaches 160%.
ListApp
DI + CICO
ListApp + DI + CICO
Memory Utilization
No memory leaks were found during the tests.
ListApp
DI + CICO
ListApp + DI + CICO
DB CPU Utilization
RDS CPU utilizatoin is about 95% for DI+CICO test and it doesn't increase with ListApp scenario added.
ListApp
DI + CICO
ListApp + DI + CICO
DB Load
ListApp
DI + CICO
ListApp + DI + CICO
Appendix
Infrastructure
PTF -environment pcp1
10 m6i.2xlarge EC2 instances located in US East (N. Virginia)us-east-1
1 database instance, writer
MSK tenant
4 m5.2xlarge brokers in 2 zones
Apache Kafka version 2.8.0
EBS storage volume per broker 300 GiB
auto.create.topics.enable=true
log.retention.minutes=480
default.replication.factor=3
Module | Task Def. Revision | Task Count | Mem Hard Limit | Mem Soft limit | CPU units | Xmx | MetaspaceSize | MaxMetaspaceSize | R/W split enabled |
|---|---|---|---|---|---|---|---|---|---|
9 | 2 | 4920 | 4472 | 1024 | 3960 | 512 | 512 | false | |
8 | 2 | 1024 | 896 | 1024 | 700 | 88 | 128 | false | |
8 | 2 | 1592 | 1488 | 128 | 968 | 384 | 512 | false | |
8 | 2 | 1248 | 1024 | 128 | 700 | 128 | 256 | false | |
8 | 2 | 1024 | 896 | 128 | 700 | 88 | 128 | false | |
8 | 2 | 1024 | 896 | 200 | 0 | 0 | 0 | false | |
8 | 1 | 1024 | 896 | 128 | 0 | 0 | 0 | false | |
9 | 1 | 2048 | 1844 | 256 | 1292 | 384 | 512 | false | |
16 | 2 | 2592 | 2480 | 2048 | 1440 | 512 | 1024 | false | |
8 | 2 | 1440 | 1152 | 512 | 922 | 88 | 128 | false | |
8 | 2 | 1024 | 896 | 128 | 768 | 88 | 128 | false | |
8 | 2 | 1024 | 896 | 512 | 700 | 88 | 128 | false | |
3 | 2 | 3000 | 2600 | 128 | 2048 | 384 | 512 | true | |
6 | 2 | 3072 | 2600 | 1024 | 1536 | 384 | 512 | false | |
12 | 2 | 1024 | 896 | 128 | 768 | 88 | 128 | false | |
8 | 2 | 1024 | 896 | 128 | 700 | 88 | 128 | false | |
11 | 2 | 1024 | 896 | 128 | 768 | 88 | 128 | false | |
8 | 2 | 1024 | 896 | 128 | 768 | 88 | 128 | false | |
3 | 2 | 3000 | 2600 | 128 | 2048 | 384 | 512 | false | |
28 | 2 | 1684 | 1544 | 512 | 1024 | 384 | 512 | false | |
8 | 2 | 2048 | 1440 | 1024 | 1024 | 384 | 512 | false | |
8 | 2 | 1440 | 1152 | 512 |