MOBIUS Baseline Tests: CI/CO multi tenants
Overview
- This document contains the results of testing MOBIUS Baseline Tests: CI/CO. Ticket: PERF-730
- PERF-730Getting issue details... STATUS
Summary
Three tests were run successfully and without errors on the Mobius-performacne testing cluster (mcpt).
No sign of memory leaks on every module. Memory shows stable trend.
CI/CO for small tenants IDs has a response time of 15% longer than for large tenants IDs.
- No modules are showing a growing CPU trend or any spikes.
The CI/CO response time for small tenants IDs with less load is 20% longer than with double load, indicating that CICO works better under a load.
Test Runs
Test № | Date | Test Conditions | Results |
1. | Mar 4, 2024, 5:42 PM UTC | 1 CI or CO per min for small tenants, 2 CICO per min for large tenants | Completed |
2. | Mar 4, 2024, 8:19 PM UTC | 2 CI or CO per min for small tenants, 4 CICO per min for large tenants | Completed |
3. | Mar 5, 2024, 2:39 PM UTC | 4 CICO per min for one large tenant | Completed |
Test Results
Test №1
1CI/CO Small + 2CICO Large
Requests | Total per tenant | 50th pct | 75th pct | 95th pct | 99th pct | Average |
---|---|---|---|---|---|---|
Small tenants - check-in | 27 | 0.992 | 1.082 | 1.397 | 1.831 | 1.033 |
Small tenants - checkout | 27 | 1.782 | 1.964 | 2.335 | 2.727 | 1.831 |
Large tenants - check-in | 92 | 0.653 | 0.736 | 1.024 | 1.446 | 0.699 |
Large tenants - checkout | 86 | 1.217 | 1.344 | 1.556 | 1.894 | 1.257 |
Test №2
2CI/CO Small + 4CICO Large
Requests | Total per tenant | 50th pct | 75th pct | 95th pct | 99th pct | Average |
---|---|---|---|---|---|---|
Small tenants - check-in | 52 | 0.755 | 0.863 | 1.089 | 1.474 | 0.802 |
Small tenants - checkout | 51 | 1.437 | 1.598 | 1.940 | 2.263 | 1.473 |
Large tenants - check-in | 141 | 0.585 | 0.653 | 0.842 | 1.225 | 0.626 |
Large tenants - checkout | 132 | 1.108 | 1.233 | 1.455 | 2.166 | 1.153 |
Test №3
4CICO Large
Requests | Total per tenant | 50th pct | 75th pct | 95th pct | 99th pct | Average |
---|---|---|---|---|---|---|
CICO_TC_Check-Out Controller_cs00000001_0006 | 130 | 1.161 | 1.257 | 1.479 | 2.618 | 1.216 |
CICO_TC_Check-In Controller_cs00000001_0006 | 143 | 0.611 | 0.673 | 0.771 | 0.861 | 0.619 |
Comparison
The following diagram compares all test results of MOBIUS Baseline Tests: CI/CO.
Resource utilization for Test #1
Service CPU Utilization
Here we can see mod-authtoken, mod-users, okapi modules using the most resources.
Service Memory Utilization
Here we can't see any sign of memory leaks on every module. Memory shows stable trend.
DB CPU Utilization
DB CPU was 7% in average and 11% during spike.
DB Connections
DB connections was 1800 in average and 2400 during spike.
DB load
Top SQL-queries
Resource utilization for Test #2
Service CPU Utilization
Here we can see mod-authtoken, mod-users, okapi modules using the most resources.
Service Memory Utilization
Here we can't see any sign of memory leaks on every module. Memory shows stable trend.
DB CPU Utilization
DB CPU was 10% in average and 14% during spike.
DB Connections
DB connections was 2100.
DB load
Top SQL-queries
Resource utilization for Test #3
Service CPU Utilization
Here we can see that all modules show a stable trend.
Service Memory Utilization
Here we can't see any sign of memory leaks on every module. Memory shows stable trend.
DB CPU Utilization
DB CPU was 3% in average and 6.5% during spike.
DB Connections
DB connections was 900.
DB load
Top SQL-queries
Appendix
Infrastructure
PTF - environment mcpt
- 10 m6g.2xlarge EC2 instances located in US East (N. Virginia)us-east-1
1 database instances, writer
Name Memory GIB vCPUs db.r6g.4xlarge
128 GiB 16 vCPUs - MSK ptf-mobius-testing2
- 2 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=2
Modules memory and CPU parameters:
Methodology/Approach
MOBIUS Baseline Tests: CI/CO scenarios were started by Jenkins.
The database contains five times more generated data for large tenant IDs compared to small tenant IDs. The table below displays the average count of generated instances and items for both small and large tenants..
tenant | instances | items |
---|---|---|
Small | 84754 | 103137 |
Large | 416176 | 543428 |
The attached file contains full info about generated data per tenant.
large tenants IDs = 0042, 0024, 0051, 0006
- Run data preparation script before each CI/CO test
- Create artefacts and upload to carrier-io
- Use Jenkins job to change parameters and run tests
- Executed one check-in or check-out request per minute concurrently for 58 small tenants, plus 2 check-in and check-out requests per minute concurrently for 4 large tenants. Totally: 5 requests per min
- Executed 2 check-in or check-out request per minute concurrently for 58 small tenants, plus 4 check-in and check-out requests per minute concurrently for 4 large tenants. Totally: 10 requests per min
- Executed 4 check-in and check-out requests per minute for one large tenant. Totally: 8 requests per min