Overview
This document contains the results of testing Data Import for MARC Bibliographic records at Ramsons release [ECS].
Ticket:
-
PERF-964Getting issue details...
STATUS
Summary
All Data-imports jobs finished successfully without errors.
Duration of data imports for creates and updates are mostly the same as was in Q release.
The PTF - Updates Success - 2 profile(based on rcp1: PTF - Updates Success - 6 ) was created for the RCON Ramsons release on tenant: cs00000int_0001.
DI duration growth correlates to the number of records imported.
No memory leak is suspected for DI modules.
Services CPU utilization, Service memory utilization, and DB CPU utilization have the same utilization trend and values as in the Q release.
Recommendations & Jiras
Results
Test # | Data-import test | Profile | Duration Ramsons (rcon) | Duration Quesnelia (qcon) | Duration Quesnelia (qcp1) | Results |
---|---|---|---|---|---|---|
1 | 10k MARC BIB Create | PTF - Create 2 | 5 min 10 s | 4 min 14 sec | 6 minutes | Completed |
2 | 25k MARC BIB Create | PTF - Create 2 | 10 min 30 s | 9 min 41 sec | 13 min 41 sec | Completed |
3 | 50k MARC BIB Create | PTF - Create 2 | 15 min 43 s | 18 min 18 sec | 21 min 59 sec | Completed |
4 | 100k MARC BIB Create | PTF - Create 2 | 31 min 51 s | 38 min 36 sec | 40 min 16 sec | Completed |
5 | 500k MARC BIB Create | PTF - Create 2 | 2 hr 37 min | 3 hours 30 min | 3 hours 27 min | Completed |
6 | 10k MARC BIB Update | PTF - Updates Success - 6 | 7 min 10 s | 5 min 59 sec | 10 min 27 sec | Completed |
7 | 25k MARC BIB Update | PTF - Updates Success - 6 | 19 min 3 s | 19 min 52 sec | 23 min 16 sec | Completed |
8 | 50k MARC BIB Update | PTF - Updates Success - 6 | 38 min 53 sec | 37 min 53 sec | 40 min 52 sec | Completed |
9 | 100k MARC BIB Update | PTF - Updates Success - 6 | 1 hr 23 min | 1 hrs 14 min | 1 hrs 2 min | Completed |
10 | 500k MARC BIB Update | PTF - Updates Success - 6 | 6 hrs 39 min | 5 hrs 31 min | Completed |
Memory Utilization
Memory usage for both sets of tests (Creates and Updates) showing stable trend. Memory of all modules returned to normal state after tests finished. No memory leak suspects observed.
Memory usage for set of MARC BIB creates.
Memory usage for set of MARC BIB updates
CPU Utilization
CPU Usage is stable for all modules involved for creates and updates. Most used module is mod-inventory (10%).
RDS Metrics
Database CPU was stable for 10 K 25K 50K 100 K and 500K records. As expected DB CPU reached 100% and stayed same during all tests.
DB metrics for create tests
Note: on 10K and 25K Create tests mod-orders was triggered. It was disabled on 50,100,500K tests. Results was not affected.
Note: here visible that mod-search queries is not included in top 10 queries, meaning that mod-search runtime indexing issue are fixed.
DB metrics for update tests
Open Search service
Open search CPU utilisation didn’t exceeds 30% on both data and master nodes, showing stable trend.
CPU usage data nodes
CPU usage master node
MSK service
MSK service showed stable trend. Max CPU usage during tests was ±60% on one of brokers.
Disk usage on all brokers didn’t exceed 10%. (300GB of memory is allocated per broker).
Additional information from module and database logs
Deadlocks observed on DB side during creates and updates data import. These deadlock is not affecting functionality of DI itself and runtime indexing functionality too as mod-search handling deadlocks on back-end side. (Deadlocks happening during runtime reindexing when mod-search working with DB). Ticket created - MSEARCH-932Getting issue details... STATUS
Errors
No critical errors observed during data import (Creates and Updates).
The only issue observed during 500K create import. 8 records failed to create due to data in file corruption.
Appendix
Infrastructure
PTF -environment rcon
11 m6g.2xlarge EC2 instances located in US East (N. Virginia)us-east-1
db.r6.xlarge database instances, writer
MSK fse-test
4 kafka.m7g.xlarge brokers in 2 zones
Apache Kafka version 3.7.x (KRaft mode)
EBS storage volume per broker 300 GiB
auto.create.topics.enable=true
log.retention.minutes=480
default.replication.factor=3
Cluster Resources - rcon-pvt
R - Ramsons release
Dataset Size:
Record type | Number of records |
---|---|
Instances | 1 163 924 |
Holdings | 1 348 036 |
Items | 2 091 901 |
Methodology/Approach
Pre-generated files were used for DI Create job profile
10K, 25K, 50K, 100K and 500K files.
Run DI Create on a single tenant(cs00000int_0001) one by one with the delay with files using PTF - Create 2 profile.
Prepare files for DI Update with the Data export app, using previously imported items
Run DI Update on a single tenant(cs00000int_0001) one by one with the delay with prepared files using PTF - Update Success 2 profile
1K, 10K, 25K, 50K, 100K and 500K files.
Data-import durations were obtained from DB using SQL query
select file_name,started_date,completed_date, completed_date - started_date as duration ,status from cs00000int_0001_mod_source_record_manager.job_execution order by started_date desc limit 1000;