Overview
- This document contains the results of testing Data Import for MARC Bibliographic records with an update job in the Quesnelia release on qcp1 environments with Kafka consolidated topics and file splitting features enabled on a non-ecs environment.
- PERF-832Getting issue details... STATUS
Summary
Test Results and Comparison
Test â„–1
Test with 1k, 10k, 25k and 50k records files DI started on one tenant only.
Test # | # of records | % creates | File | DI duration | DI duration | DI duration | DI duration | DI duration Quesnelia |
---|---|---|---|---|---|---|---|---|
1 | 1,000 | 100 | 1k_marc_authority.mrc?api=v2 | 24 s | 27 s | 41 sec | 29 sec | 22 sec -24% |
2 | 5,000 | 100 | LC_SUBJ_msplit00000000.mrc?api=v2 | 1 min 21 s | 1 min 15 s | 1min 21s | 1 min 38 sec | 1 min 19 sec -19% |
3 | 10,000 | 100 | msplit00000000.mrc?api=v2 | 2 min 32 s | 2 min 31 s | 2min 53s | 2 min 53 sec | 2 min 36 sec -9.8% |
4 | 22778 (for Poppy test) 25000 (for Quesnelia test) | 100 | msplit00000013.mrc?api=v2 | 11 min 14 s | 7 min 7 s | 5 min 42s | 6 min 24 sec | 6 min 19 sec -1.3% |
5 | 50,000 | 100 | 50000_authorityrecords.mrc?api=v2 | 22 min | 11 min 24 s | 11 min 11s | 13 min 48 sec | 11 min 59 sec -13% |
Test â„–2
Test with CICO 5 concurrent users and DI 1K, 5K, 10K, 25K and 50K started on one tenant only.
# of records | DI Duration with CICO | CI time Avg | CI time 95th pct | CO time Avg | CO time 95th pct | # of records (Quesnelia) | DI Duration with CICO | CI time Avg (Quesnelia) | CI time 95th pct (Quesnelia) | CO time Avg (Quesnelia) | CO time 95th pct (Quesnelia) |
---|---|---|---|---|---|---|---|---|---|---|---|
1,000 | 35 sec | 0.525 | 0.576 | 1.078 | 1.326 | 1,000 | 20 sec | 0.560 +6% | 0.754 +30% | 1.164 +8% | 1.313 -1% |
5,000 | 1 min 41 sec | 0.513 | 0.612 | 0.9 | 1.019 | 5,000 | 1 min 19 sec -21.7% | 0.701 +36% | 1.171 +91% | 1.141 +26% | 1.790 +75% |
10,000 | 3 min 4 sec | 0.581 | 0.685 | 1.016 | 1.321 | 10,000 | 2 min 35 sec -15.7% | 0.723 +24% | 1.024 +49% | 1.179 +16% | 1.494 +13% |
22,778 | 6 min 32 sec | 0.598 | 1.542 | 1.244 | 1.729 | 25,000 | 6 min 26 sec -1.5% | 0.722 +20% | 1.024 -33% | 1.180 -5% | 1.494 -13% |
50,000 | 13 min 48 sec | 0.671 | 1.953 | 1.51 | 2.09 | 50,000 | 12 min 16 sec | 0.777 +15% | 1.045 -46% | 1.265 | 1.550 -25% |
Test â„–3
Multitenant testing
File with 50K, 25K, 10K, 5K, 1K loaded sequences and launched on Tenant1, Tenant2, and Tenant3 for Poppy
File with 50K, 25K, 10K, 5K, 1K loaded sequences and launched on Tenant3, Tenant2 and Tenant1 for Quesnelia
Num of records | Tenant 1 pcp1-00 duration (Poppy) | Tenant 2 pcp1-01 duration (Poppy) | Tenant 3 pcp1-02 duration (Poppy) | Num of records | Tenant 3 qcp1-02 duration (Quesnelia) | Tenant 2 qcp1-01 duration (Quesnelia) | Tenant 1 qcp1-00 duration (Quesnelia) |
---|---|---|---|---|---|---|---|
1000 | 66 min | 75 min | 74 min | 1000 | 15 min 15 sec | 15 min 46 sec | 16 min |
5000 | 67 min | 76 min | 75 min | 5000 | 22 min 9 sec | 22 min 10 sec | 21 min 33 sec |
10,000 | 67 min | 76 min | 74 min | 10,000 | 27 min 38 sec | 27 min 51 sec | 29 min 42 sec |
22,778 | 67 min* | 73 min* | 71 min* | 25000 | 46 min 42 sec | 47 min | 47 min 14 sec |
50,000 | 62 min | 56 min | 54 min | 50,000 | 67 min 29 sec | 67 min 27 sec | 67 min 22 sec |
Test â„–4
Order for load files with pause between files: 50k, 25k, 10k, 5k, and 1k for order tenants : Tenant 3(qcp1-02), Tenant 1(qcp1-00) and Tenant 2(qcp1-01)
Job Profile | Num of records | Tenant 1 qcp1-00 duration | Tenant 2 qcp1-01 duration | Tenant 3 qcp1-02 duration |
---|---|---|---|---|
KG - Create SRS MARC Authority on nonmatches to 010 $a DUBLICATE for Q | 1000 | 00:28 | 00:32 | 00:18 |
5000 | 03:38 | 03:31 | 03:29 | |
10,000 | 06:58 | 07:02 | 06:47 | |
25000 | 17:54 | 17:35 | 17:53 | |
50,000 | 34:09 | 35:08 | 29:49 |
Test â„–5
Order for load files without pause between files: 1k, 5k, 10k, 25k and 50k for order tenants : Tenant 3(qcp1-02), Tenant 2(qcp1-01) and Tenant 1(qcp1-00)
t 3-2-1 1-5-10-25-50
Job Profile | Num of records | Tenant 1 qcp1-00 duration | Tenant 2 qcp1-01 duration | Tenant 3 qcp1-02 duration |
---|---|---|---|---|
KG - Create SRS MARC Authority on nonmatches to 010 $a DUBLICATE for Q | 1000 | 0:09:37 | 0:02:43 | 0:00:53 |
5000 | 0:10:54 | 0:28:43 | 0:02:17 | |
10,000 | 0:19:13 | 0:31:45 | 0:05:53 | |
25000 | 0:35:54 | 0:44:13 | 0:22:44 | |
50,000 | 1:03:55 | 1:10:16 | 0:52:38 |
Resource utilization for Test #1
Service CPU Utilization
Here we can see that mod-inventory-b module used 171% CPU, mod-di-converter-storage-b used 83% CPU and nginx-okapi used 66% CPU
Service Memory Utilization
Here we can see that all modules show a stable trend.
DB CPU Utilization
DB CPU in the average was 88%.
DB Connections
DB connections was 1139.
DB load
Top SQL-queries
# | TOP 5 SQL statements |
---|---|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
Resource utilization for Test #2
Service CPU Utilization
Here we can see that mod-inventory-b module used 140% CPU in average, mod-inventory-b used 117% CPU and nginx-okapi used 109% CPU
Service Memory Utilization
Here we can see that all modules show a stable trend.
DB CPU Utilization
DB CPU was 93%.
DB Connections
DB connections was 1273.
DB load
Top SQL-queries
# | TOP 5 SQL statements |
---|---|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
Resource utilization for Test #3
Service CPU Utilization
Here we can see that mod-inventory-b module used 140% CPU in average, mod-inventory-b used 117% CPU and nginx-okapi used 109% CPU
Service Memory Utilization
Here we can see that all modules show a stable trend.
DB CPU Utilization
DB CPU was 94%.
DB Connections
DB connections was 1823.
DB load
Top SQL-queries
# | TOP 5 SQL statements |
---|---|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
Resource utilization for Test #4
Service CPU Utilization
Here we can see that mod-inventory-b module used 140% CPU in average, mod-inventory-b used 117% CPU and nginx-okapi used 109% CPU
Service Memory Utilization
Here we can see that all modules show a stable trend.
DB CPU Utilization
DB CPU was 93%.
DB Connections
DB connections was 1273.
DB load
Top SQL-queries
# | TOP 5 SQL statements |
---|---|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
Resource utilization for Test #5
Service CPU Utilization
Here we can see that mod-inventory-b module used 140% CPU in average, mod-inventory-b used 117% CPU and nginx-okapi used 109% CPU
Service Memory Utilization
Here we can see that all modules show a stable trend.
DB CPU Utilization
DB CPU was 98%.
DB Connections
DB connections was 1757.
DB load
Top SQL-queries
# | TOP 5 SQL statements |
---|---|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
Appendix
Infrastructure
PTF - environment Quesnelia (qcp1)
- 10 db.r6g.xlarge EC2 instances located in US East (N. Virginia)us-east-1
1 database instances, writer
Name Memory GIB vCPUs db.r6g.xlarge
32 GiB 4 vCPUs - MSK ptf-mobius-testing2
- 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=2
Methodology/Approach
DI tests scenario a data import job profile that creates new MARC authority records for non-matches (Job Profile: KG - Create SRS MARC Authority on nonmatches to 010 $a DUBLICATE for Q) were started from UI on Quesnelia (qcp1) env with file splitting features enabled on a non-ecs environment..
Action for non-matches: Create MARC authority record
- The above files are all stored here - MARC Resources
- 22k file what was provided from MARC Resources does nor work, so 50k file was split to file with 25k records and used instead of 22k file.
Test set
- Test 1: Manually tested 1k, 10k, 25k and 50k records files DI started on one tenant only.
- Test 2: Manually tested 1k, 10k, 25k and 50k records files DI started on one tenant only plus Check-in and Checkout (CICO) for 5 concurrent users.
- Test 3: Manually tested 1k, 10k, 25k and 50k records files DI started on 3 tenants concurrently. Order for load file without pause between files: 50k, 25k, 10k, 5k, and 1k for order tenants : Tenant 3(qcp1-02), Tenant 2(qcp1-01) and Tenant 1(qcp1-00)
- Test 4: Manually tested 1k, 10k, 25k and 50k records files DI started on 3 tenants concurrently. Order for load file with pause between files: 50k, 25k, 10k, 5k, and 1k for order tenants : Tenant 3(qcp1-02), Tenant 1(qcp1-00) and Tenant 2(qcp1-01)
- Test 5: Manually tested 1k, 10k, 25k and 50k records files DI started on 3 tenants concurrently. Order for load file without pause between files: 1k, 5k, 10k, 25k and 50k for order tenants : Tenant 3(qcp1-02), Tenant 2(qcp1-01) and Tenant 1(qcp1-00)