Overview
This document contains the results of testing List App refreshing of 200k records on multiple tenants with R/W split enabled (Poppy release). The goal of testing is to assess the performance of mod-lists with load spread across multiple tenants.
...
Query used in lists - "Item status != Available". List refresh result is about 200K records.
Scenario | Data quantity |
---|---|
List App 3 users refresh multiple tenants | tenant 1 - 1 user tenant 2 - 1 user tenants 3 - 1 user |
List App 3 users refresh single tenant | tenant 1 - 3 users |
List App 10 users refresh multiple tenants | tenant 1 - 3 userusers tenant 2 - 3 userusers tenants 3 - 4 userusers |
List App 10 users refresh single tenant | tenant 1 - 10 users |
List App 30 users refresh multiple tenants | tenant 1 - 10 userusers tenant 2 - 10 userusers tenants 3 - 10 userusers |
Results
Transaction |
---|
Duration, avg | Release | Tnenants | Number of users | R/W split | Other conditions | |
---|---|---|---|---|---|---|
ListApp refresh | 10 min 40 sec | [Orchid] | 1 tenant | 10 users | disabled | |
8.5 min | [Poppy] | 1 tenant | 10 users | disabled | ||
17.7 min | [Poppy] | 1 tenant | 10 users | disabled | Testing in parallel with DI and CICO | |
ListApp refresh current test results** | 1.5 min | [Poppy] |
3 tenants | 3 users | enabled | |
2.8 min | [Poppy] |
R/W split enabled
10 users1 tenant | 3 users | enabled | ||
2.3 min | [Poppy] |
R/W split enabled
30 users
from 9 min 40 sec to
10 min 40 sec
3 tenants | 10 users | enabled | |||
6.1 min | [Poppy] | 1 tenant | 10 users | enabled | |
Server error | [Poppy] | 3 tenants | 30 users | enabled |
* Query used in lists - "Item status == Checked out". List refresh result is 200K records.
...
Code Block | ||
---|---|---|
| ||
delete from list_contents where list_id=$1 and refresh_id=$2 |
Appendix
Infrastructure
PTF -environment pcp1
- 10 m6i.2xlarge EC2 instances located in US East (N. Virginia)us-east-1
1 database instance, writer
Name API Name Memory GIB vCPUs max_connections R6G Extra Large db.r6g.xlarge 32 GiB 4 vCPUs 2731 - 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 pcp1-pvt Fri Oct 27 08:26:47 UTC 2023 | Task Def. Revision | Task Count | Mem Hard Limit | Mem Soft limit | CPU units | Xmx | MetaspaceSize | MaxMetaspaceSize | R/W split enabled |
---|---|---|---|---|---|---|---|---|---|
mod-inventory-storage:27.0.0 | 10 | 2 | 4096 | 3690 | 2048 | 3076 | 384 | 512 | false |
mod-users:19.2.0 | 19 | 2 | 1024 | 896 | 128 | 768 | 88 | 128 | false |
nginx-okapi:2023.06.14 | 8 | 2 | 1024 | 896 | 128 | 0 | 0 | 0 | false |
mod-circulation-storage:17.1.0 | 10 | 2 | 2880 | 2592 | 1536 | 1814 | 384 | 512 | false |
okapi:5.1.1 | 9 | 3 | 1684 | 1440 | 1024 | 922 | 384 | 512 | false |
mod-inventory:20.1.0 | 9 | 2 | 2880 | 2592 | 1024 | 1814 | 384 | 512 | false |
mod-circulation:24.0.0 | 10 | 2 | 2880 | 2592 | 1536 | 1814 | 384 | 512 | false |
pub-okapi:2023.06.14 | 8 | 2 | 1024 | 896 | 128 | 768 | 0 | 0 | false |
mod-fqm-manager:1.0.0 | 5 | 2 | 1024 | 896 | 128 | 768 | 88 | 128 | true |
mod-lists:1.0.0 | 5 | 2 | 3000 | 2600 | 128 | 2048 | 384 | 512 | false |