Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
outlinetrue

Overview

  • This document contains the results of testing  Data Import for MARC Bibliographic records with an update job on the Quesnelia [ECS] release on qcon environment. 

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyPERF-846
 

Summary

  • Data Import tests finished successfully on qcon environment using the PTF - Updates Success - 2 profile and file with 25k records.
  • Comparing with previous testing results Poppy and Quesnelia releases
    • Data Import processed all jobs including test on 3 tenants concurrently without errors for Quesnelia releases.
    • Data Import durations stayed in the same time range in Average for Quesnelia releases but it works stable and without errors.
  • During testing, we noticed that mod-permission did not have any spikes and used 12% CPU for Quesnelia releases. For Poppy releases we had error.

Test Results

This table contains durations for Data Import. 

...

College
(cs00000int_0001)

...

Comparison

This table contains durations comparison between Poppy and Quesnelia releases.

...

Resource utilization for Test Set

...

titleResource utilization table

...

Service CPU Utilization

Here we can see that mod-inventory used 125% CPU, mod-di-converter-storage and nginx-okapi used 65%-70% CPU.

Image Removed

Service Memory Utilization

Here we can see that all modules show a stable trend.

Image Removed

DB CPU Utilization

DB CPU was 95%.

Image Removed

DB Connections

Max number of DB connections was 1650.

Image Removed

DB load

  Image Removed                                                                                                                   

Top SQL-queries

Image Removed

...

insert into "marc_records_lb" ("id", "content") values (cast($1 as uuid), cast($2 as jsonb)) on conflict ("id") do update set "content" = cast($3 as jsonb)

...

INSERT INTO cs00000int_0001_mod_source_record_manager.events_processed (handler_id, event_id) VALUES ($1, $2)

...

 INSERT INTO cs00000int_mod_search.consortium_instance (tenant_id, instance_id, json, created_date, updated_date)
  VALUES ($1, $2, $3::json, $4, $5)
  ON CONFLICT (tenant_id, instance_id)
  DO UPDATE SET json = EXCLUDED.json, updated_date = EXCLUDED.updated_date

...

WITH deleted_rows AS 
( delete from marc_indexers mi where exists( select 1 from marc_records_tracking mrt
where mrt.is_dirty = true and mrt.marc_id = mi.marc_id and mrt.version > mi.version )
returning mi.marc_id), deleted_rows2 AS ( delete from marc_indexers mi
where exists( select 1 from records_lb where records_lb.id = mi.marc_id and records_lb.state = 'OLD' )
returning mi.marc_id) INSERT INTO marc_indexers_deleted_ids SELECT DISTINCT marc_id FROM deleted_rows UNION SELECT marc_id FROM deleted_rows2

...

INSERT INTO cs00000int_0002_mod_source_record_manager.events_processed (handler_id, event_id) VALUES ($1, $2)

Appendix

Infrastructure

PTF - environment Quesnelia (qcon)

  • 11 m6i.2xlarge EC2 instances located in US East (N. Virginia)us-east-1 [Number of ECS instances, instance type, location region]

  • 1 instance of db.r6.xlarge database instance: Writer instance

  • OpenSearch

    • domain: fse

    • Number of nodes: 9

    • Version: OpenSearch_2_7_R20240502

  • MSK - tenat

    • 4 kafka.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

    • Kafka consolidated topics enabled

...

titleQuesnelia modules memory and CPU parameters

...

Table of Contents
outlinetrue

Overview

  • This document contains the results of testing Check-in/Check-out and Data Import for MARC Bibliographic records on the Quesnelia [ECS] release on qcon environment. 

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyPERF-846
 

Summary

  • Data Import with Check In/Check Out tests finished successfully on qcon environment using the PTF - Create 2 and PTF - Updates Success - 2 profiles with files 5K, 10K, 25K, 50K, 100K records.
  • Comparing with previous testing results Poppy and Quesnelia releases
    • Data Import durations for create jobs has performance degradation in Average up to 10% for Quesnelia releases.
    • Data Import durations for update jobs has performance degradation in Average up to 40% for Quesnelia releases.
    • Check In/Check Out Response time has slight improvement in Average up to 10% for Quesnelia releases.
  • During testing, we noticed that mod-data-import module used maximum 57% CPU for Quesnelia releases. For Poppy releases we mod-data-import module used 130% CPU and 320% in spike.
  • No memory leaks are observed.

Test Runs 

Test №ScenarioTest ConditionsResults

1
DI MARC Bib Create5K, 10K, 25K, 50K, 100K consequentially (with 5 min pause)
Completed
CICO 8 users

2
DI MARC Bib Update5K, 10K, 25K, 50K, 100K consequentially (with 5 min pause)


Completed

CICO8 users

Test Results

This table contains durations for Data Import. 

ProfileMARC File

DI Duration

Quesnelia (hh:mm:ss)

Check In, Check Out Response time (8 users)

Quesnelia

CI Average secCO Average sec

DI MARC Bib Create

(PTF - Create 2)

5K.mrc0:03:210.8311.357
10K.mrc0:06:510.8451.410
25K.mrc0:12:410.7191.333
50K.mrc0:23:190.6911.327
100K.mrc0:51:240.6641.335

DI MARC Bib Create

(PTF - Updates Success - 2)

5K.mrc0:04:120.7641.458
10K.mrc0:08:150.7791.377
25K.mrc0:20:380.7551.401
50K.mrc0:43:060.7501.444
100K.mrc1:29:090.7301.458


Check-in/Check-out without DI


ScenarioLoad levelRequestResponse time, sec
Quesnelia
95 percaverage
Circulation Check-in/Check-out
(without Data import)
8 usersCheck-in0.6350.493
Check-out1.2431.078


Comparison

This table contains DI durations with CICO comparison between Poppy and Quesnelia releases.


ProfileMARC FileDI Durationwith CI/CODI Delta  
Poppy/Quesnelia
(hh:mm:ss / %)
Check In, Check Out
Response time
(8 users)
Check In, Check Out
Response time
(8 users)
Delta, %

PoppyQuesneliaPoppy/QuesneliaPoppy/Quesnelia
PoppyQuesneliaCI Average secCO Average secCI Average secCO Average secCICO
DI MARC Bib Create
(PTF - Create 2)
5K.mrc00:02:530:03:21+0:00:28 / +16.18%0.9011.3750.8311.357-7.77%-1.31%
10K.mrc00:04:320:06:51+0:02:19 / +51.10%0.9021.470.8451.410-6.32%-4.08%
25K.mrc00:11:140:12:41+0:01:27 / +12.91%11.5710.7191.333-28.1%-15.15%
50K.mrc00:21:550:23:19+0:01:24 / +6.39%0.9811.460.6911.327-29.57%-9.11%
100K.mrc00:47:020:51:24+0:04:22 / +9.28%1.0181.4910.6641.335-34.78%-10.47%

DI MARC Bib Create

(PTF - U1.571pdates Success - 2)

5K.mrc00:03:190:04:12+0:00:53 /+26.63%0.7551.1690.7641.458+1.19%+24.73%
10K.mrc00:06:200:08:15+0:01:55 / +30.26%0.751.3070.7791.377+3.87%+5.36%
25K.mrc00:14:040:20:38+0:06:34 +46.68%0.8221.4030.7551.401-8.15%-0.14%
50K.mrc00:29:590:43:06+0:13:07 / +43.74%0.8931.4240.7501.444-16.01%+1.40%
100K.mrc01:03:031:29:09+0:26:06 / +41.40%0.9081.510.7301.458-19.60%-3.44%


Detailed CICO response time comparison without DI


ScenarioLoad levelRequestResponse time, sec
Poppy
Response time, sec
Quesnelia
95 percaverage95 percaverage
Circulation Check-in/Check-out (without Data import)8 usersCheck-in0.4890.4310.6350.493
Check-out0.9690.8281.2431.078



Resource utilization for Test №1

Expand
titleResource utilization table


CPURAM
mod-data-import-b56%mod-inventory-b65%
nginx-okapi56%mod-data-import-b53%
mod-di-converter-storage-b38%mod-source-record-manager-b48%
okapi-b36%mod-source-record-storage-b43%
mod-inventory-storage-b23%okapi-b34%
mod-source-record-storage-b13%mod-di-converter-storage-b33%
mod-source-record-manager-b11%mod-feesfines-b33%
mod-feesfines-b10%mod-patron-blocks-b31%
mod-quick-marc-b8%mod-quick-marc-b31%
mod-pubsub-b8%mod-pubsub-b30%
mod-authtoken-b7%mod-configuration-b28%
mod-configuration-b6%mod-users-bl-b26%
pub-okapi4%mod-circulation-b25%
mod-remote-storage-b3%mod-authtoken-b20%
mod-circulation-storage-b3%mod-circulation-storage-b20%
mod-inventory-update-b2%mod-inventory-storage-b18%
mod-circulation-b2%mod-remote-storage-b17%
mod-patron-blocks-b1%nginx-okapi4%
mod-users-bl-b1%pub-okapi4%


Service CPU Utilization

Here we can see that mod-data-import used 150% CPU in spikes.

Image Added

Service Memory Utilization

Here we can see that all modules show a stable trend.

Image Added

DB CPU Utilization

DB CPU was 92%.

Image Added

DB Connections

Max number of DB connections was 1690.

Image Added

DB load

 Image Added                                                                                                                    

Top SQL-queries

Image Added


#TOP 5 SQL statements
1
INSERT INTO cs00000int_0001_mod_source_record_manager.events_processed (handler_id, event_id) VALUES ($1, $2)
2
insert into "marc_records_lb" ("id", "content") values (cast($1 as uuid), cast($2 as jsonb)) on conflict ("id") do update set "content" = cast($3 as jsonb)
3
INSERT INTO cs00000int_0001_mod_source_record_manager.journal_records (id, job_execution_id, source_id, source_record_order, entity_type, entity_id, entity_hrid, action_type, action_status, error, action_date, title, instance_id, holdings_id, order_id, permanent_location_id, tenant_id) 
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17)
4
  INSERT INTO cs00000int_mod_search.consortium_instance (tenant_id, instance_id, json, created_date, updated_date)
  VALUES ($1, $2, $3::json, $4, $5)
  ON CONFLICT (tenant_id, instance_id)
  DO UPDATE SET json = EXCLUDED.json, updated_date = EXCLUDED.updated_date
5
INSERT INTO cs00000int_0001_mod_inventory_storage.holdings_record (id, jsonb) VALUES ($1, $2) RETURNING jsonb

Resource utilization for Test №2

Expand
titleResource utilization table


CPURAM
nginx-okapi67%mod-data-import-b72%
mod-data-import-b50%mod-inventory-b66%
okapi-b42%mod-source-record-manager-b52%
mod-di-converter-storage-b41%mod-source-record-storage-b45%
mod-source-record-storage-b21%mod-pubsub-b35%
mod-inventory-storage-b20%okapi-b35%
mod-source-record-manager-b9%mod-di-converter-storage-b34%
mod-quick-marc-b9%mod-feesfines-b33%
mod-feesfines-b9%mod-patron-blocks-b32%
mod-authtoken-b9%mod-quick-marc-b31%
mod-pubsub-b7%mod-circulation-storage-b30%
mod-configuration-b6%mod-configuration-b29%
pub-okapi4%mod-users-bl-b28%
mod-circulation-storage-b2%mod-circulation-b28%
mod-remote-storage-b2%mod-inventory-storage-b22%
mod-inventory-update-b2%mod-authtoken-b21%
mod-circulation-b1%mod-remote-storage-b18%
mod-patron-blocks-b1%nginx-okapi4%
mod-users-bl-b0.8%pub-okapi4%


Service CPU Utilization

Here we can see that mod-data-import used 130% CPU in spikes.

Image Added

Service Memory Utilization

Here we can see that all modules show a stable trend.

Image Added

DB CPU Utilization

DB CPU was 92%.

Image Added

DB Connections

Max number of DB connections was 1685.

Image Added

DB load

 Image Added                                                                                                                    

Top SQL-queries

Image Added


#TOP 5 SQL statements
1
insert into "marc_records_lb" ("id", "content") values (cast($1 as uuid), cast($2 as jsonb)) on conflict ("id") do update set "content" = cast($3 as jsonb)
2
INSERT INTO cs00000int_0001_mod_source_record_manager.events_processed (handler_id, event_id) VALUES ($1, $2)
3
INSERT INTO cs00000int_0001_mod_source_record_manager.journal_records (id, job_execution_id, source_id, source_record_order, entity_type, entity_id, entity_hrid, action_type, action_status, error, action_date, title, instance_id, holdings_id, order_id, permanent_location_id, tenant_id) 
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17)
4
INSERT INTO cs00000int_mod_search.consortium_instance (tenant_id, instance_id, json, created_date, updated_date)
  VALUES ($1, $2, $3::json, $4, $5)
  ON CONFLICT (tenant_id, instance_id)
  DO UPDATE SET json = EXCLUDED.json, updated_date = EXCLUDED.updated_date
5
UPDATE cs00000int_0001_mod_inventory_storage.instance SET jsonb = $1::jsonb WHERE id=?

Appendix

Infrastructure

PTF - environment Quesnelia (qcon)

  • 10 m6i.2xlarge EC2 instances located in US East (N. Virginia)us-east-1

  • 1 instance of db.r6.xlarge database instance: Writer instance

  • OpenSearch

    • domain: fse

    • Number of nodes: 6

    • Version: OpenSearch_2_7_R20240502

  • MSK - tenat

    • 4 kafka.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

    • Kafka consolidated topics enabled


Expand
titleQuesnelia modules memory and CPU parameters


Code Block
languagesql
themeFadeToGrey
titleSQL 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; select file_name,started_date,completed_date, completed_date - started_date as duration ,status from cs00000int_0002_mod_source_record_manager.job_execution order by started_date desc limit 1000; select file_name,started_date,completed_date, completed_date - started_date as duration ,status from cs00000int_0003_mod_source_record_manager.job_execution order by started_date desc limit 1000;
ModuleTask Def. RevisionModule VersionTask CountMem Hard LimitMem Soft limitCPU unitsXmxMetaspaceSizeMaxMetaspaceSize
qcon-pvt








Thu May 23 10:47:25 UTC 2024








mod-remote-storage1mod-remote-storage:3.2.024920447210243960512512
mod-finance-storage1mod-finance-storage:8.6.021024896102470088128
mod-ncip1mod-ncip:1.14.42102489612876888128
mod-authtokenagreements3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-authtoken:2.15.121440115251292288128edge-courses1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edge-courses:1.41mod-agreements:7.0.0215921488128000
mod-ebsconet1mod-ebsconet:2.2.021248102489612876870088128128256
mod-inventory-updateconsortia1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-inventory-update:3.3mod-consortia:1.1.021024307289620481287682048885121281024
mod-notify1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-notify:3.2organizations1mod-organizations:1.9.02102489612876870088128
mod-configurationserials-management1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-configuration:5.10.mod-serials-management:1.0.02102424808962312128768179288384128512
mod-orders-storagesettings1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-orders-storage:13.7.0mod-settings:1.0.32102489651220070076888128
edgemod-caiasoftsearch1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edge-caiasoft:2.2.02102489612876888128mod-login-saml1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-login-saml:2.8.029mod-search:3.3.0-SNAPSHOT.224225922480204814405121024
edge-dematic1edge-dematic:2.2.01102489612876888128
mod-ermdata-usage-harvesterimport1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-ermdata-usage-harvesterimport:43.51.021102420488961844128256768129288128mod-password-validator1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-password-validator:3384512
mod-tags1mod-tags:2.2.0214401024129889612876838488512128
mod-licensesauthtoken1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-licenses:6.0.02248023121281792384512mod-gobi1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-gobi:2.83mod-authtoken:2.15.121440115251292288128
edge-courses1edge-courses:1.4.02102489612870076888128
mod-bulkinventory-operationsupdate1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-bulkinventory-operationsupdate:23.03.023072102426008961024128153676838488512128
mod-fqm-managernotify1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-fqm-manager:mod-notify:3.2.0.12300010242600896128204876838488512128
edgemod-dcbconfiguration1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edge-dcb:1.1mod-configuration:5.10.02102489612876888128
mod-graphqlorders-storage1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-graphql:1.12.1mod-orders-storage:13.7.02102489612851276870088128
modedge-financecaiasoft1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-finance:4.9edge-caiasoft:2.2.02102489612870076888128
mod-ermlogin-usagesaml1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-ermlogin-usagesaml:42.78.02102489612876888128
mod-batch-print1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-batch-print:1.1erm-usage-harvester1mod-erm-usage-harvester:4.5.02102489612876888128
mod-copycatpassword-validator1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-copycat:1.6mod-password-validator:3.2.0210241440512129812876888384128512
mod-listslicenses1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-listslicenses:26.0.02300024802600231212820481792384512
mod-entities-linksgobi1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-entities-links:3mod-gobi:2.8.02102489612870088128
mod-bulk-operations1mod-bulk-operations:2.0.02259230722480260040010241440153601024mod-permissions2579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-permissions:6.5.02168415445121024384512
mod-fqm-manager1mod-fqm-manager:2.0.12300026001282048384512
pubedge-edgedcb1579891902283.dkr.ecr.us-east-edge-dcb:1.amazonaws.com/folio/pub-edge:2023.06.141.02102489612876800
mod-orders1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-orders:12.8.022048144010241024384512
edge-patron1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edge-patron:5.188128
mod-graphql1mod-graphql:1.12.12102489612876888128
mod-finance1mod-finance:4.9.02102489625612876870088128
edgemod-erm-ncipusage1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edge-ncip:1.9.2mod-erm-usage:4.7.02102489612876888128
mod-usersbatch-blprint1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-usersbatch-blprint:71.71.0214401024115289651212892276888128
mod-invoicecopycat1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-invoicecopycat:51.86.0214401024115251251212892276888128
mod-inventory-storagelists2579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-inventory-storage:27.1mod-lists:2.0-SNAPSHOT.73802300040962600369012820483076384512
mod-userentities-importlinks1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-userentities-importlinks:3.80.0210242592896248012840076814408801281024
mod-senderpermissions1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-sender:1.122mod-permissions:6.5.02102416848961544128512768102488384128512
pub-edge-oai-pmh1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edge-oai-pmh:2.9.0pub-edge:2023.06.1421512102413608961024128144076838405120
mod-data-export-workerorders1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-data-export-worker:3.2.123072204810242048mod-orders:12.8.022048144010241024384512
modedge-rtac1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-rtac:3.6patron1edge-patron:5.1.02102489612825676888128
modedge-circulation-storagencip1579891902283.dkr.ecr.us-east-edge-ncip:1.amazonaws.com/folio/mod-circulation-storage:17.2.09.222880102425928961536128181476838488512128
mod-sourceusers-record-storagebl1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-sourceusers-record-storagebl:57.87.0256001440500011522048512350092238488512128
mod-calendarinvoice1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-calendarinvoice:35.18.0210241440896115212851276892288128
mod-eventinventory-configstorage1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-event-config:2.7.02102489612876888128mod-courses1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-courses:1.4.102mod-inventory-storage:27.2.0-SNAPSHOT.73824096369020483076384512
mod-user-import1mod-user-import:3.8.02102489612876888128mod-circulation-item
1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-circulation-itemmod-sender1mod-sender:1.012.02102489612807680880128
modedge-oai-inventorypmh3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-inventory:20.2.0228802592102418141edge-oai-pmh:2.9.021512136010241440384512
mod-data-export-worker1mod-data-export-worker:3.2.123072204810242048384512
mod-emailrtac1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-emailrtac:13.176.02102489612876888128
mod-circulation-storage2579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/1mod-circulation-storage:2417.2.1022880259215361814384512
mod-source-record-pubsubstorage1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-pubsub:2.13mod-source-record-storage:5.8.021536560014405000102420489223500384512
mod-di-converter-storage2579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-di-converter-storage:2.2.2calendar1mod-calendar:3.1.02102489612876888128
edgemod-event-ordersconfig1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edge-orders:3.0mod-event-config:2.7.02102489612876888128
edgemod-rtaccourses1579891902283.dkr.ecr.us-east-mod-courses:1.amazonaws.com/folio/edge-rtac:2.7.14.102102489612876888128
mod-userscirculation-item1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-users:19.3.12102489612876888128mod-template-engine1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-template-engine:1.20mod-circulation-item:1.0.021024896128000
mod-inventory3mod-inventory:20.2.022880259210241814384512
mod-email1mod-email:1.17.02102489612876888128
mod-patron-blockscirculation1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-patron-blocks:1.10.021024896102476888128mod-audit1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-audit:2.92mod-circulation:24.2.122880259215361814384512
mod-pubsub1mod-pubsub:2.13.02102415368961440128102476892288384128edge-fqm1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edge-fqm:2.0.0512
mod-di-converter-storage2mod-di-converter-storage:2.2.22102489612876888128
mod-source-record-manageredge-orders1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-source-record-manageredge-orders:3.80.025600102450008962048128350076838488512128
nginxedge-edgertac1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/nginx-edge:2023.06.14edge-rtac:2.7.12102489612807680880128
mod-quick-marcusers1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-quick-marc:5.1.01228821761281664384512nginx-okapi1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/nginx-okapi:2023.06.14mod-users:19.3.12102489612876888128
mod-template-engine1mod-template-engine:1.20.02102489612807680880128
okapimod-patron-bblocks1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/okapi:5.3.03168414401024922384512mod-feesfines1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-feesfines:19.1mod-patron-blocks:1.10.021024896102476888128
mod-audit1mod-audit:2.9.02102489612876888128
edge-fqm1edge-fqm:2.0.02102489612876888128
mod-source-invoicerecord-storagemanager1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-invoice-storage:5.8.021872153610241024384512
mod-service-interaction1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-service-interaction:4.0.12204818442561290384512
mod-dcb1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-dcb:1.1.0mod-source-record-manager:3.8.025600500020483500384512
nginx-edge1nginx-edge:2023.06.1421024896128000
mod-quick-marc1mod-quick-marc:5.1.01228821761281664384512
nginx-okapi1nginx-okapi:2023.06.142102489612876808801280
modokapi-patronb1579891902283okapi:5.dkr.ecr.us-east-1.amazonaws.com/folio/mod-patron:63.03168414401024922384512
mod-feesfines1mod-feesfines:19.1.02102489612876888128
mod-datainvoice-exportstorage1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-datainvoice-exportstorage:5.08.012204818721524153610240102403840512
mod-oaiservice-pmhinteraction1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-oai-pmh:3.13mod-service-interaction:4.0.12204818442561290384512
mod-dcb1mod-dcb:1.1.024096102436908962048128307676838488512128
edgemod-connexionpatron1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edge-connexion:1.2mod-patron:6.1.02102489612876888128
mod-notesdata-export1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-notes:5.2mod-data-export:5.0.01204815241024000
mod-oai-pmh1mod-oai-pmh:3.13.0210244096896369012820489523076384512
mod-kb-ebsco-javaedge-connexion1579891902283.dkr.ecr.us-east-edge-connexion:1.amazonaws.com/folio/mod-kb-ebsco-java:4.0.2.02102489612876888128
mod-loginnotes1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-loginnotes:75.112.021440102412988961024128768952384512
mod-organizationskb-ebsco-storagejava1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-organizations-storagemod-kb-ebsco-java:4.70.02102489612870076888128
mod-data-export-springlogin1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-data-export-spring:3.2mod-login:7.11.012204814401844129825610241536768384512
pubmod-organizations-okapistorage1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/pub-okapi:2023.06.14mod-organizations-storage:4.7.0210248961287687000880128
mod-eusagedata-export-reportsspring1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-eusage-reports:2.1.12102489612876888128

Methodology/Approach

DI tests scenario(DI MARC Bib Update) were started from UI.

Test set:

  • Test 1: Manually tested 25k records files DI started on College tenant(cs00000int_0001) only.
  • Test 2: Manually tested 25k records files DI started on College tenant(cs00000int_0001) and Professional tenant(cs00000int_0002) concurrently, step 30%.
  • Test 3: Manually tested 25k records files DI started on College tenant(cs00000int_0001), Professional tenant(cs00000int_0002) and School tenant(cs00000int_0003) concurrently, step 30%.

To get status and time range for import jobs the query used: 

mod-data-export-spring:3.2.01204818442561536384512
pub-okapi1pub-okapi:2023.06.142102489612876800
mod-eusage-reports1mod-eusage-reports:2.1.12102489612876888128



Methodology/Approach

DI tests scenario (DI MARC Bib Create and Update) were started from UI on Quesnelia (qcon) env with  file splitting features enabled on a ecs environment..

Test runs:

  • Test 1: Manually tested 5K, 10K, 25K, 50K, 100K consequentially (with 5 min pause) records files, DI (DI MARC Bib Create ) started on College tenant(cs00000int_0001) only, and CICO with 8 users on background.
  • Test 2: Manually tested 5K, 10K, 25K, 50K, 100K consequentially (with 5 min pause) records files, DI (DI MARC Bib Update) started on College tenant(cs00000int_0001) only, and CICO with 8 users on background.

At the time of the test run, Grafana was not available. As a result, response times for Check-In/Check-Out were parsed manually from a .jtl files, using the start and finish dates of the data import tests. These results were visualized in JMeter using a Listener (Response Times Over Time).