/
[Ramsons] [non-ECS] [Data import] Create MARC authority Records

[Ramsons] [non-ECS] [Data import] Create MARC authority Records

Overview

This document presents performance testing results for Data Import of MARC Bibliographic records using a create job profile in the Ramsons release on Okapi-based non-ECS environments (rcp1). The tests were conducted with Kafka consolidated topics and file-splitting features enabled.

The performance evaluation was carried out across a range of records for a single tenant: 1K, 5K, 10K, 25K, and 50K records. Additionally, we conducted a data import and parallel Check-In/Check-Out test simulating 5 virtual users to assess system behavior under concurrent operations and parallel data import on 3 tenants simultaneously.
Current ticket: PERF-971: [Ramsons] [non-ECS] [Data import] Create MARC authority RecordsClosed

Summary

  • Data import tests finished successfully during Test 1 - Test 3

  • The data import process during Test 1 of MARC bibliographic records using a create job profile in the Ramsons release demonstrates a slight but noteworthy improvement in performance compared to the Quesnelia release. Our analysis indicates an average speed increase of DI Marc Authority of approximately 5%.

  • The data import and parallel Check-In/Check-Out testing, simulating five virtual users, revealed that the Ramsons release demonstrated slower performance compared to the Quesnelia release when handling imports of 25,000 and 50,000 records. This outcome suggests that during Test 2 on the Ramsons release the background auto vacuum were running and it affected the average CICO response time and last imports(25K and 50K)

  • The test results indicate that five virtual users (5 VU) for Check-In/Check-Out (CICO) operations do not affect the performance of the data import process.

Recommendations & Jiras

 

Test Runs 

Test

Test conditions and short description

Status

Test 1.

Tenant: fs0900000. Job profile KG - Create SRS MARC Authority on nonmatches to 010 $a DUPLICATE for Q. 1k - 5k - 10k - 25k -50k with 5 minutes pauses between each DI

Completed

Test 2.

Tenant: fs0900000. Job profile KG - Create SRS MARC Authority on nonmatches to 010 $a DUPLICATE for Q 1k - 5k - 10k - 25k -50k with 5 minutes pauses between each DI

CheckIn-CheckOut 5 Virtual users

Completed

Test 3.

Parallel, multi-tenant Data import
Job profile KG - Create SRS MARC Authority on nonmatches to 010 $a DUPLICATE for Q. In parallel
Tenant: fs0900000. 50k and 25k without pause.
Tenant: fs0700001. 50k and 25k without pause.
Comment: Instead of running 3 concurrent DI of 50K on the 3 tenants, we run 50K + 25K on 2 tenants. It`s because of mod-permission spikes on fs07000002

Completed

Test Results and Comparison

Test №1

Table 1. - Test with 1k, 10k, 25k, and 50k records files DI started on one tenant fs09000000-(rcp1-00), and comparative results between Quesnelia and Ramsons.

Number of records 

DI duration 
Orchid

DI duration 
Poppy

DI duration 
Quesnelia

DI duration 
Ramsons

Time Diff and Perc. Improvement
R vs Q

Number of records 

DI duration 
Orchid

DI duration 
Poppy

DI duration 
Quesnelia

DI duration 
Ramsons

Time Diff and Perc. Improvement
R vs Q

1,000

41 sec

29 sec

22 sec

21 sec

1 sec, 4.55%

5,000

1min 21s

1 min 38 sec

1 min 19 sec

1 min 04 sec

15 sec, 18.99%

10,000

2min 53s

2 min 53 sec

2 min 36 sec

2 min 36 sec

0 sec, 0%

25000
(started from Quesnelia release, 22k before)

100

5 min 42s

6 min 24 sec

5 min 55 sec

29 sec, 7.55%

50,000

11 min 11s

13 min 48 sec

11 min 59 sec

10 min 31 sec

88 sec, 12.23%

Test №2

Test with CICO 5 concurrent users and DI 1K, 5K, 10K, 25K, and 50K started on one tenant fs09000000-(rcp1-00).

Table 2. - Сomparative Baseline Check-In\Check-Out results without Data Import between Quesnelia and Ramsons.

 

CICO, Avg time without
DI
(Quesnelia)

CICO, 95% time without
DI
(Quesnelia)

CICO, Avg time without
DI
(Ramsons)

CICO, 95% time without
DI
(Ramsons)

 

CICO, Avg time without
DI
(Quesnelia)

CICO, 95% time without
DI
(Quesnelia)

CICO, Avg time without
DI
(Ramsons)

CICO, 95% time without
DI
(Ramsons)

Check-In

511 ms

593 ms

835 ms

934 ms

Check-Out

876 ms

1117 ms

1115 ms

1323 ms

Table 3. - Сomparative  Check-In\Check-Out results between Baseline (Quesnelia) and  Check-In\Check-Out plus Data Import (Quesnelia.)

Number of records 

DI Duration with CICO
(Quesnelia)

DI Duration
with CICO
(Ramsons)

CI time

Avg, sec

CO time

Avg, sec

Baseline CI
Avg delta

Baseline CO
Avg delta

Number of records 

DI Duration with CICO
(Quesnelia)

DI Duration
with CICO
(Ramsons)

CI time

Avg, sec

CO time

Avg, sec

Baseline CI
Avg delta

Baseline CO
Avg delta

1,000

20 sec

28 sec

1.064

1.238

+27%

+11%

5,000

1 min 19 sec

1 min 09 sec

906

1.242

+8.5%

+11%

10,000

2 min 35 sec

2 min 27 sec

974

1.239

+16.6%

+11%

25,000

6 min 26 sec

6 min 54 sec

1.105

1.368

+32.3%

+23%

50,000

12 min 47 sec

15 min 47 sec

1.331

1.548

+59%

+39%

Test №3
Table 4. - Duration on parallel multitenant data-import on tenants fs09000000-(rcp1-00) and fs07000001-(rcp1-01)

Tenant

50K DI

25K DI

Tenant

50K DI

25K DI

fs0900000

36 min 28 sec

18 min 32 sec

fs0700001

36 min 38 sec

25 min 26 sec


Cluster resource utilization for Test 1

Service CPU Utilization

The image shows CPU consumption during Test 1.

image-20250218-131029.png

Service memory utilization

Service memory utilization remains consistent across all modules.

image-20250218-131222.png

DB CPU Utilization

Here are the conclusions drawn from the database CPU usage graph:

  • For 1k records, the maximum CPU usage was approximately 30%.

  • For 5k records, the maximum CPU usage reached around 50%.

  • For 10k records, the maximum CPU usage climbed to about 80%.

  • For both 25k and 50k records, the maximum CPU usage was around 90%.

image-20250218-131442.png

DB Connections

image-20250218-131641.png

Database load

Sliced by SQL

image-20250218-160537.png

Top SQL queries during test 1

image-20250218-160557.png

Load by sqls (AAS)

SQL statements

Calls/sec

Rows/sec

Avg latency (ms)/call

 42.81

SELECT insert_journal_records($1::jsonb[])

0.86

0.86

38077.89

 1.71

insert into "marc_records_lb" ("id", "content") values (cast($1 as uuid), cast($...

27.15

27.15

50.09

 1.00

COMMIT

0.04

0.00

0.00

 0.57

WITH input_rows(record_id, authority_id) AS ( VALUES ($1::uuid,$2::uuid) ) , ...

27.15

27.15

3.45

 0.50

INSERT INTO fs09000000_mod_source_record_manager.events_processed (handler_id, e...

28.33

28.33

3.53

 0.46

WITH cte AS (SELECT count(*) AS total_count FROM fs09000000_mod_source_record_ma...

0.08

2.01

5267.21

 0.30

insert into "records_lb" ("id", "snapshot_id", "matched_id", "generation", "reco...

0.54

27.15

406.78

 0.26

select "records_lb"."id", "records_lb"."snapshot_id", "records_lb"."matched_id",...

26.40

0.00

5.50

 0.26

update "marc_records_lb" set "content" = cast($1 as jsonb) where "id" = cast($2 ...

27.17

27.17

7.25

 0.23

insert into authority (source_file_id,created_by_user_id,created_date,deleted,he...

26.50

26.50

6.26

image-20250219-111829.png

 

 

Cluster resource utilization for Test 2

The checkIn-CheckOut test started at about 13:20 and finished at 14:20

CICO Response time graph

image-20250219-131459.png

Service CPU Utilization

The image shows CPU consumption during Test 2

image-20250219-095939.png

Service memory utilization

Service memory utilization remains consistent across all modules.

image-20250219-100344.png

DB CPU Utilization

Here are the conclusions drawn from the database CPU usage graph:

  • For 1k records, the maximum CPU usage was approximately 38%.

  • For 5k records, the maximum CPU usage reached around 76%.

  • For 10k records, the maximum CPU usage climbed to about 82%.

  • For both 25k and 50k records, the maximum CPU usage was around 90%.

image-20250219-100827.png

DB Connections

In the idle state number of connection ~1100 and during CICO 5VU + 50K DI ~1390

image-20250219-100947.png

Database load

Sliced by SQL

image-20250219-101358.png

Top SQL queries during test 2

image-20250219-101418.png

Load by sqls (AAS)

SQL statements

Calls/sec

Rows/sec

Avg latency (ms)/call

 31.74

SELECT insert_journal_records($1::jsonb[])

0.62

0.62

44690.13

 1.58

insert into "marc_records_lb" ("id", "content") values (cast($1 as uuid), cast($...

19.57

19.57

69.24

 0.73

COMMIT

0.03

0.00

0.00

 0.54

autovacuum: VACUUM fs09000000_mod_users.users

-

-

-

 0.44

WITH input_rows(record_id, authority_id) AS ( VALUES ($1::uuid,$2::uuid) ) , ...

19.42

19.42

5.27

 0.39

INSERT INTO fs09000000_mod_source_record_manager.events_processed (handler_id, e...

20.40

20.40

4.99

 0.29

insert into "records_lb" ("id", "snapshot_id", "matched_id", "generation", "reco...

0.39

19.62

592.64

 0.24

update "marc_records_lb" set "content" = cast($1 as jsonb) where "id" = cast($2 ...

20.00

20.00

10.45

 0.21

autovacuum: VACUUM fs09000000_mod_users.users

0.02

0.02

0.00

 0.18

insert into authority (source_file_id,created_by_user_id,created_date,deleted,he...

19.42

19.42

7.42

image-20250219-101921.png

 

Cluster resource utilization for Test 3

Service CPU Utilization

The image shows CPU consumption during Test 3

image-20250219-132141.png

Service memory utilization


Service memory utilization remains consistent across all modules.

image-20250219-132503.png

DB CPU Utilization

The maximum CPU usage was approximately 83%.

image-20250219-132720.png

DB Connections

In the idle state number of connections is ~1200 and during test 3 ~ 1587

image-20250219-133015.png

Database load

Sliced by SQL

image-20250219-133345.png

Top SQL queries during test 3

image-20250219-133422.png

Load by waits (AAS)

SQL statements

Calls/sec

Rows/sec

Avg latency (ms)/call

Load by waits (AAS)

SQL statements

Calls/sec

Rows/sec

Avg latency (ms)/call

 55.36

SELECT insert_journal_records($1::jsonb[])

1.38

1.38

33910.45

 30.37

SELECT insert_journal_records($1::jsonb[])

1.11

1.11

23162.30

 1.91

insert into "marc_records_lb" ("id", "content") values (cast($1 as uuid), cast($...

27.90

27.90

57.74

1.09

COMMIT

0.06

0.00

0.00

0.73

autovacuum: VACUUM fs09000000_mod_users.users

-

-

-

 0.51

update "marc_records_lb" set "content" = cast($1 as jsonb) where "id" = cast($2 ...

28.00

28.00

21.06

 0.45

WITH input_rows(record_id, authority_id) AS ( VALUES ($1::uuid,$2::uuid) ) , ...

27.99

27.99

4.36

0.37

insert into "marc_records_lb" ("id", "content") values (cast($1 as uuid), cast($...

27.46

27.46

10.74

0.35

INSERT INTO fs09000000_mod_source_record_manager.events_processed (handler_id, e...

28.56

28.56

3.85

0.32

insert into "records_lb" ("id", "snapshot_id", "matched_id", "generation", "reco...

0.56

27.80

486.31

image-20250219-134031.png

MSK Cluster

MSK Cluster resource utilization for Test 1

CPU (User) usage by the broker reaches a maximum 64 % during 50k DI

image-20250219-112159.png


Disk usage by broker

image-20250219-112110.png

 

MSK Cluster resource utilization for Test 2


CPU (User) usage by broker reaches maximum 55 % during 50k DI and CICO

image-20250219-112353.png


Disk usage by broker

image-20250219-112424.png

MSK Cluster resource utilization for Test 3

CPU (User) usage by broker reaches a maximum 55 % during 50k DI and CICO

image-20250219-141335.png

Disk usage by broker

image-20250219-141433.png

OpenSearch Service


Maximum CPU utilization percentage for all data nodes Test 1.

image-20250219-113518.png

CPU utilization percentage for the master node Test 1.

image-20250219-113808.png

Maximum CPU utilization percentage for all data nodes Test 2.

image-20250219-113617.png

CPU utilization percentage for the master node Test 2.

image-20250219-113915.png

Maximum CPU utilization percentage for all data nodes Test 3.

image-20250219-141743.png



CPU utilization percentage for the master node Test 3

 

image-20250219-141819.png

 

 

Appendix

Infrastructure

PTF -environment rcp1

  • 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

  • OpenSearch 2.13 ptf-test cluster

    • r6g.2xlarge.search 4 data nodes

    • r6g.large.search 3 dedicated master nodes

Cluster Resources - rcp1-pvt

Module

Task Definition Revision

Module Version

Task Count

Mem Hard Limit

Mem Soft Limit

CPU Units

Xmx

Metaspace Size

Max Metaspace Size

Module

Task Definition Revision

Module Version

Task Count

Mem Hard Limit

Mem Soft Limit

CPU Units

Xmx

Metaspace Size

Max Metaspace Size

mod-remote-storage

9

mod-remote-storage:3.3.3

2

4920

4472

0

3960

512

512

mod-ncip

7

mod-ncip:1.15.6

2

1024

896

0

768

88

128

mod-finance-storage

7

mod-finance-storage:8.7.3

2

1024

896

1024

700

88

128

mod-agreements

9

mod-agreements:7.1.4

2

3184

2976

0

0

0

0

mod-ebsconet

9

mod-ebsconet:2.3.1

2

1248

1024

0

700

128

256

mod-organizations

7

mod-organizations:2.0.0

2

1024

896

0

700

88

128

mod-consortia

3

mod-consortia:1.2.2

2

5136

4776

0

4416

512

1024

edge-sip2

7

edge-sip2:3.3.1

2

1024

896

0

768

88

128

mod-settings

7

mod-settings:1.1.0

2

1024

896

200

768

88

128

mod-serials-management

9

mod-serials-management:1.1.2

2

2480

2312

0

1792

384

512

edge-dematic

7

edge-dematic:2.3.1

1

1024

896

0

768

88

128

mod-data-import

8

mod-data-import:3.2.4

1

2048

1844

0

1292

384

512

mod-search

21

mod-search:4.0.7

2

2592

2480

0

1440

512

1024

mod-inn-reach

3

mod-inn-reach:3.2.1-SNAPSHOT.102

2

3600

3240

1024

2880

512

1024

mod-record-specifications

16

mod-record-specifications:1.0.2

2

1024

896

0

768

88

128

mod-tags

7

mod-tags:2.3.0

2

1024

896

0

768

88

128

mod-authtoken

7

mod-authtoken:2.16.1

2

1440

1152

512

922

88

128

edge-courses

9

edge-courses:1.5.1

2

1024

896

0

768

88

128

mod-notify

7

mod-notify:3.3.0

2

1024

896

0

768

88

128

mod-inventory-update

7

mod-inventory-update:4.0.0

2

1024

896

0

768

88

128

mod-configuration

7

mod-configuration:5.11.0

2

1024

896

0

768

88

128

mod-orders-storage

7

mod-orders-storage:13.8.3

2

1024

896

512

700

88

128

edge-caiasoft

7

edge-caiasoft:2.3.2

2

1024

896

0

768

88

128

mod-login-saml

7

mod-login-saml:2.9.3

2

1024

896

0

768

88

128

mod-erm-usage-harvester

7

mod-erm-usage-harvester:5.0.1

2

1024

896

0

768

88

128

mod-password-validator

7

mod-password-validator:3.3.0

2

1440

1298

0

768

384

512

mod-gobi

7

mod-gobi:2.9.0

2

1024

896

0

700

88

128

mod-licenses

7

mod-licenses:6.1.2

2

2480

2312

0

1792

384

512

edge-dcb

7

edge-dcb:1.2.1

2

1024

896

0

768

88

128

mod-bulk-operations

9

mod-bulk-operations:2.1.8

2

3072

2600

0

1536

384

512

mod-fqm-manager

21

mod-fqm-manager:3.0.7

2

1024

896

0

768

88

128

mod-graphql

9

mod-graphql:1.13.1

2

1024

896

0

768

88

128

mod-finance

9

mod-finance:5.0.1

2

1024

896

0

768

88

128

mod-erm-usage

7

mod-erm-usage:5.0.0

2

1024

896

0

768

88

128

mod-batch-print

7

mod-batch-print:1.2.0

2

1024

896

0

768

88

128

mod-tlr

4

mod-tlr:1.0.0-SNAPSHOT.8

2

1024

896

0

768

88

128

mod-lists

16

mod-lists:3.0.5

2

1024

896

0

768

88

128

mod-copycat

7

mod-copycat:1.7.0

2

1024

512

0

768

88

128

mod-entities-links

13

mod-entities-links:3.1.3

2

2592

2480

0

1440

0

1024

mod-permissions

17

mod-permissions:6.6.1

2

1684

1544

0

1024

384

512

pub-edge

5

pub-edge:2023.06.14

2

1024

896

0

768

0

0

mod-orders

9

mod-orders:12.9.9

2

2048

1740

0

1024

384

512

edge-patron

9

edge-patron:5.2.1

2

1024

896

0

768

88

128

edge-ncip

7

edge-ncip:1.10.1

2

1024

896

0

768

88

128

mod-marc-migrations

30

mod-marc-migrations:1.0.0

2

1024

896

0

768

88

128

edge-inn-reach

3

edge-inn-reach:3.3.0-SNAPSHOT.69

2

1024

896

0

768

88

128

mod-users-bl

7

mod-users-bl:7.9.3

2

1440

1152

512

922

88

128

mod-oa

5

mod-oa:2.1.0-SNAPSHOT.66

2

2048

896

0

1800

88

512

mod-invoice

9

mod-invoice:5.9.2

2

1440

1152

0

922

88

128

mod-inventory-storage

13

mod-inventory-storage:28.0.4

2

4096

3690

0

3076

384

512

mod-user-import

7

mod-user-import:3.9.0

2

1024

896

0

768

88

128

mod-sender

7

mod-sender:1.13.0

2

1024

896

0

768

88

128

edge-oai-pmh

7

edge-oai-pmh:2.10.0

2

1512

1360

1024

1440

384

512

mod-data-export-worker

9

mod-data-export-worker:3.3.6

2

3072

2800

0

2048

384

512

mod-rtac

7

mod-rtac:3.7.0

2

1024

896

0

768

88

128

mod-circulation-storage

9

mod-circulation-storage:17.3.3

2

2880

2592

0

1814

384

512

mod-source-record-storage

13

mod-source-record-storage:5.9.5

2

5600

5000

0

3500

384

512

mod-calendar

8

mod-calendar:3.2.0

2

1024

896

0

768

88

128

mod-event-config

7

mod-event-config:2.8.0

2

1024

896

0

768

88

128

mod-courses

7

mod-courses:1.4.11

2

1024

896

0

768

88

128

mod-circulation-item

7

mod-circulation-item:1.1.0

2

1024

896

0

0

0

0

mod-inventory

8

mod-inventory:21.0.5

2

2880

2592

0

1814

384

512

mod-email

9

mod-email:1.18.1

2

2800

2550

0

1800

384

512

mod-requests-mediated

12

mod-requests-mediated:1.0.0-SNAPSHOT.4

2

1024

896

0

768

88

128

mod-di-converter-storage

8

mod-di-converter-storage:2.3.1

2

1024

896

0

768

88

128

mod-pubsub

9

mod-pubsub:2.15.3

2

1536

1440

0

922

384

512

mod-circulation

9

mod-circulation:24.3.8

2

2880

2592

0

1814

384

512

edge-orders

7

edge-orders:3.1.0

2

1024

896

0

768

88

128

edge-rtac

7

edge-rtac:2.8.0

2

1024

896

0

768

88

128

mod-template-engine

7

mod-template-engine:1.21.0

2

1024

896

0

768

88

128

mod-users

9

mod-users:19.4.5

2

1024

896

0

768

88

128

mod-patron-blocks

7

mod-patron-blocks:1.11.1

2

1024

896

1024

768

88

128

mod-audit

9

mod-audit:2.10.2

2

1024

896

0

768

88

128

edge-fqm

9

edge-fqm:3.0.2

2

1024

896

0

768

88

128

mod-source-record-manager

13

mod-source-record-manager:3.9.5

2

5600

5000

0

3500

384

512

nginx-edge

5

nginx-edge:2023.06.14

2

1024

896

0

0

0

0

mod-quick-marc

7

mod-quick-marc:6.0.0

1

2288

2176

0

1664

384

512

nginx-okapi

5

nginx-okapi:2023.06.14

2

1024

896

0

0

0

0

okapi-b

6

okapi:6.1.0

3

1684

1440

1024

922

384

512

mod-feesfines

7

mod-feesfines:19.2.1

2

1024

896

0

768

88

128

mod-invoice-storage

7

mod-invoice-storage:5.9.1

2

1872

1536

1024

1024

384

512

mod-reading-room

8

mod-reading-room:1.0.0

2

1024

896

0

768

88

128

mod-service-interaction

7

mod-service-interaction:4.1.1

2

2048

1844

256

1290

384

512

mod-dcb

9

mod-dcb:1.2.4

2

1024

896

0

768

88

128

mod-data-export

10

mod-data-export:5.1.5

1

2592

2480

0

1440

88

1024

mod-patron

9

mod-patron:6.2.5

2

1024

896

0

768

88

128

mod-oai-pmh

7

mod-oai-pmh:3.14.3

2

4096

3690

2048

3076

384

512

edge-connexion

7

edge-connexion:1.3.1

2

1024

896

0

768

88

128

mod-notes

7

mod-notes:6.0.0

2

1024

896

0

952

384

512

mod-kb-ebsco-java

7

mod-kb-ebsco-java:5.0.0

2

1024

896

0

768

88

128

mod-login

7

mod-login:7.12.1

2

1440

1298

1024

768

384

512

mod-organizations-storage

7

mod-organizations-storage:4.8.1

2

1024

896

0

700

88

128

mod-data-export-spring

9

mod-data-export-spring:3.4.3

1

2048

1844

0

1536

384

512

pub-okapi

5

pub-okapi:2023.06.14

2

1024

896

0

768

0

0

edge-erm

6

edge-erm:1.3.0

2

1024

896

0

768

88

128

mod-eusage-reports

7

mod-eusage-reports:3.0.0

2

1024

896

0

768

88

128

 

Inventory size


SELECT 'fs0900000' AS fs0900000,

    (SELECT COUNT(id) FROM fs0900000_mod_inventory_storage.instance) AS instanceCount,

    (SELECT COUNT(id) FROM fs0900000_mod_inventory_storage.holdings_record) AS holdingsCount,

    (SELECT COUNT(id) FROM fs0900000_mod_inventory_storage.item) AS itemCount,

    (SELECT COUNT(id) FROM fs0900000_mod_entities_links.authority) AS authorityCount

UNION ALL

SELECT 'fs0700001' AS fs0700001,

    (SELECT COUNT(id) FROM fs0700001_mod_inventory_storage.instance) AS instanceCount,

    (SELECT COUNT(id) FROM fs0700001_mod_inventory_storage.holdings_record) AS holdingsCount,

    (SELECT COUNT(id) FROM fs0700001_mod_inventory_storage.item) AS itemCount,

    (SELECT COUNT(id) FROM fs0700001_mod_entities_links.authority) AS authorityCount

UNION ALL

SELECT 'fs0700002' AS fs0700002,

    (SELECT COUNT(id) FROM fs0700002_mod_inventory_storage.instance) AS instanceCount,

    (SELECT COUNT(id) FROM fs0700002_mod_inventory_storage.holdings_record) AS holdingsCount,

    (SELECT COUNT(id) FROM fs0700002_mod_inventory_storage.item) AS itemCount,

    (SELECT COUNT(id) FROM fs0700002_mod_entities_links.authority) AS authorityCount

image-20250224-133615.png

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 DUPLICATE for Q) were started from UI on Quesnelia (rcp1) env with file splitting features enabled on a non-ecs environment RCP1.

  • Action for non-matches:  Create MARC authority record
    Test set

  • Test 1: Manually tested 1k, 10k, 25k, and 50k records files DI started on one tenant(qcp1-00) only.

  • Test 2: Manually tested 1k, 10k, 25k, and 50k records files DI started on one tenant(qcp1-00) only plus Check-in and Checkout (CICO) for 5 concurrent users.

  • Test 3: Manually tested 50k and 25k records files DI started on 2 tenants concurrently. Order for load file without pause between files: 50k, 25k tenants :  tenant 1(qcp1-00) and Tenant 2(qcp1-01)

To get data-import durations, SQL query was used

SELECT (completed_date-started_date) as duration, * FROM fs09000000_mod_source_record_manager.job_execution where subordination_type = 'COMPOSITE_PARENT' and job_profile_name ='KG - Create SRS MARC Authority on nonmatches to 010 $a DUPLICATE for Q' order by started_date desc limit 15

Related content