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 in the Quesnelia release on qcp1 environments with Kafka consolidated topics and file splitting features enabled on a non-ecs 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-832
 

Summary

Test Results and Comparison

Test №1

Test with 1k, 10k, 25k and 50k records files DI started on one tenant only.

...

# of records 

...

% creates

...

File

...

DI duration 
Morning Glory

...

DI duration
Nolana

...

DI duration 
Orchid

...

DI duration 
Poppy

...

Test №2

Test with CICO 5 concurrent users and DI 1K, 5K, 10K, 25K and 50K started on one tenant only.

  • Сomparative Data Import and Check-In\Check-Out results between Baseline and Quesnelia.

...

Test #

...

# of records 

...

DI Duration

with CICO

...

CI time Avg
without

...

Baseline CI delta

...

CI time 95th pct

...

Baseline CI delta

...

CO time Avg

...

Baseline CO Avg

Delta

...

CO time 95th pct

...

Baseline CO delta

...

  • Сomparative Check-In\Check-Out results between Poppy and Quesnelia.

...

Table of Contents
outlinetrue

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.

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-832
 

Summary

  • Data import tests finished successfully, only Test №5 had one failed record for Tenant 2(qcp1-01) when processed 50k files. Duration of DI grew in correspondence with the number of records in files.
  • Check-in and Check-out with 5 virtual users was performed during DI Create new MARC authority records jobs for non-matches No issues.
  • Data Import in Quesnelia without CICO perform faster than with it.
  • Comparing Poppy and Quesnelia releases
    • Check-in / Check-out perform better in Quesnelia.  Response time improved during Create jobs for long period of work time on 15% in Average.
    • DI durations improved  - 11%-14% in Average.
  • During testing, we noticed spikes in the mod permissions module. To mitigate this issue and prevent system slowdowns, we adjusted the order of loading files, starting with Tenant 3 (qcp1-02), followed by Tenant 2 (qcp1-01), and finally Tenant 1 (qcp1-00).

Test Results and Comparison

Test №1

Test with 1k, 10k, 25k and 50k records files DI started on one tenant only(qcp1-00), and comparative results between Poppy and Quesnelia.


# of records 

% creates

File

DI duration 
Morning Glory

DI duration
Nolana

DI duration 
Orchid

DI duration 
Poppy

DI duration 
Quesnelia
1,0001001k_marc_authority.mrc?api=v2 24 s27 s41 sec29 sec22 sec
-24%
5,000100 LC_SUBJ_msplit00000000.mrc?api=v21 min 21 s1 min 15 s1min 21s1 min 38 sec1 min 19 sec
-19%
10,000100msplit00000000.mrc?api=v2 2 min 32 s2 min 31 s2min 53s2 min 53 sec2 min 36 sec
-9.8%
22778
(for Poppy test)
25000
(for Quesnelia test)
100 msplit00000013.mrc?api=v211 min 14 s7 min 7 s5 min 42s6 min 24 sec6 min 19 sec
-1.3%
50,00010050000_authorityrecords.mrc?api=v222 min11 min 24 s11 min 11s13 min 48 sec11 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.


  • Сomparative Baseline Check-In\Check-Out results without Data Import between Poppy and Quesnelia.

CICO, Median time without
DI
(Poppy)

CICO, 95% time without
DI
(Poppy)
CICO, Median time without
DI
(Quesnelia)
CICO, 95% time without
DI
(Quesnelia)
CICO, Avg time without
DI
(Quesnelia)
Check-In516 ms567 ms503 ms
-2.5%

593 ms
+4.5%

511 ms

Check-Out910 ms2094 ms 836 ms
-8%
1117 ms
-46%
876 ms


  • Сomparative  Check-In\Check-Out results between Baseline (Quesnelia) and  Check-In\Check-Out plus Data Import (Quesnelia.)
# of records
(Quesnelia)

DI Duration with CICO
(Quesnelia)

CI time Avg
(Quesnelia)
CI time 95th pct
(Quesnelia)
CO time Avg
(Quesnelia)
CO time 95th pct
(Quesnelia)
Baseline CI
Avg delta
Baseline CI 
95th pct delta
Baseline CO
Avg delta
Baseline CO 
95th pct delta
1,000

20 sec

0.5600.7541.1641.313+9%+27%+32%+17%
5,0001 min 19 sec0.7011.1711.1411.790+37%+97%+30%+60%
10,0002 min 35 se0.7231.0241.1791.494+41%+72%+34%+34%
25,0006 min 26 sec0.7221.0241.1801.494+41%+72%+35%+34%
50,000

12 min 16 sec

0.7771.045

1.265

1.550+52%+76%+44%+39%



  • Сomparative Data Import and Check-In\Check-Out results between Poppy and Quesnelia.

# of records 
(Poppy)

DI Duration with CICO
(Poppy)

CI time Avg
(Poppy)

CI time 95th pct
(Poppy)

CO time Avg
(Poppy)

CO time 95th pct
(Poppy)

# of records
(Quesnelia)

DI Duration with CICO
(Quesnelia)

CI time Avg
(Quesnelia)
CI time 95th pct
(Quesnelia)
CO time Avg
(Quesnelia)
CO time 95th pct
(Quesnelia)
1,00035 sec0.5250.5761.0781.3261,000

20 sec
-42.8%

0.560
+6%
0.754
+30%
1.164
+8%
1.313
-1%
5,0001 min 41 sec0.5130.6120.91.0195,0001 min 19 sec
-21.7%
0.701
+36%
1.171
+91%
1.141
+26%
1.790
+75%
10,0003 min 4 sec0.5810.6851.0161.32110,0002 min 35 sec
-15.7%
0.723
+24%
1.024
+49%
1.179
+16%
1.494
+13%
22,7786 min 32 sec0.5981.5421.2441.72925,0006 min 26 sec
-1.5%
0.722
+20%
1.024
-33%
1.180
-5%
1.494
-13%
50,00013 min 48 sec0.6711.9531.512.0950,000

12 min 16 sec
-11%

0.777
+15%
1.045
-46%

1.265
-16%

1.550
-25%



Test №3

Multitenant testing

...

Here we can see that mod-inventory-b module used 50% CPU and mod-source-record-storage-b 46% CPU 

...

DB CPU in the average was 90%90%.

DB Connections

DB connections was 1151.

...

#TOP 5 SQL statements
1
INSERT INTO fs09000000_mod_source_record_manager.events_processed (handler_id, event_id) VALUES ($1, $2)
2
INSERT INTO fs09000000_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)
3
INSERT INTO fs07000002_mod_source_record_manager.events_processed (handler_id, event_id) VALUES ($1, $2)
4
INSERT INTO fs07000001_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)
5
INSERT INTO fs07000002_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)

Appendix

Infrastructure

PTF - environment Quesnelia (qcp1)

...

1 database  instances, writer

...

db.r6g.xlarge

...

  • 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

...

titleQuesnelia modules memory and CPU parameters

...

 (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)


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


    NameMemory GIBvCPUs

    db.r6g.xlarge

    32 GiBvCPUs


  • 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=3


Expand
titleQuesnelia modules memory and CPU parameters


#277
Apr 26, 2024, 10:55 AM UTC










ModuleTask Def. RevisionModule VersionTask CountMem Hard LimitMem Soft limitCPU unitsXmxMetaspaceSizeMaxMetaspaceSizeR/W split enabled
qcp1-pvt









Fri Apr 26 10:56:03 UTC 2024









mod-remote-storage3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-remote-storage:3.2.024920447210243960512512FALSE
mod-ncip3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-ncip:1.14.42102489612876888128FALSE
mod-finance-storage3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-finance-storage:8.6.021024896102470088128FALSE
mod-agreements3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-agreements:7.0.0215921488128000FALSE
mod-ebsconet3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-remote-storageebsconet:32.2.02492012484472102410241283960700512128512256FALSE
mod-nciporganizations3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-nciporganizations:1.149.402102489612876870088128FALSE
mod-finance-storageconsortia32579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-finance-storageconsortia:81.61.0210243072896204810241287002048885121281024FALSE
modedge-agreementssip232579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/modedge-agreementssip2:73.2.0-SNAPSHOT.0209215921024148889612807680880128FALSE
mod-ebsconetserials-management3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-serials-ebsconetmanagement:21.20.0212482480102423121287001792128384256512FALSE
mod-organizationssettings3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-organizationssettings:1.90.032102489612820070076888128FALSE
mod-data-consortiaimport26579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-data-consortiaimport:13.1.0212048307218442048256128129220483845121024FALSE
edge-sip2dematic23579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edge-sip2dematic:32.2.0-SNAPSHOT.20921102489612876888128FALSE
mod-serials-managementsearch3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-serials-managementsearch:13.02.022592248023122048128144017925123845121024FALSE
mod-inn-settingsreach32579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-settings:1inn-reach:3.2.0-SNAPSHOT.386210243600896324020010247682880885121281024FALSE
mod-data-importtags63579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-data-importtags:32.12.012204810241844896256128129276838488512128FALSE
edge-dematiccourses3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edge-dematiccourses:21.24.012102489612876888128FALSE
mod-searchauthtoken34579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-searchauthtoken:32.215.012259214402480115220485121440922512881024128FALSE
mod-inninventory-reachupdate23579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-inninventory-reachupdate:3.23.0-SNAPSHOT.86236001024324089610241282880768512881024128FALSE
mod-tagsnotify3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-tagsnotify:23.2.02102489612876888128FALSE
edgemod-coursesconfiguration3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edgemod-coursesconfiguration:15.410.02102489612876888128FALSE
mod-orders-authtokenstorage43579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-orders-authtokenstorage:213.157.10214401024115289651292270088128FALSE
modedge-inventory-updatecaiasoft3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/modedge-inventory-updatecaiasoft:32.32.02102489612876888128FALSE
mod-login-notifysaml3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-notifylogin-saml:32.28.02102489612876888128FALSE
mod-configurationerm-usage-harvester3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-erm-usage-configurationharvester:4.5.10.02102489612876888128FALSE
mod-orders-storagelicenses3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-orders-storagelicenses:136.70.02102424808962312512128700179288384128512FALSE
edgemod-caiasoftgobi3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edgemod-caiasoftgobi:2.28.02102489612876870088128FALSE
mod-loginpassword-samlvalidator3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-loginpassword-samlvalidator:3.2.8.0210241440896129812876888384128512FALSE
mod-ermbulk-usage-harvesteroperations3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-ermbulk-usage-harvesteroperations:42.50.021024307289626001281024768153688384128512FALSE
mod-fqm-licensesmanager3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-fqm-licensesmanager:62.0.012248030002312260012817922048384512FALSETRUE
modedge-gobidcb3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/modedge-gobidcb:21.81.02102489612870076888128FALSE
mod-password-validatorgraphql34579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-password-validatorgraphql:31.212.01214401024129889612876838488512128FALSE
mod-bulk-operationsfinance3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-bulk-operationsfinance:24.09.023072102426008961024128153670038488512128FALSE
mod-fqmerm-managerusage3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-fqmerm-managerusage:24.7.0.12300010242600896128204876838488512128TRUEFALSE
edgemod-batch-dcbprint34579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edgemod-batch-dcbprint:1.1.02102489612876888128FALSE
mod-graphqlcopycat43579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-graphqlcopycat:1.126.102102489651212876888128FALSE
mod-financelists3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-financelists:42.90.02102430008962600128700204888384128512FALSE
mod-ermentities-usagelinks34579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-ermentities-usagelinks:43.70.0210242592896248012840076814408801281024FALSE
mod-batch-printpermissions46579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-batch-printpermissions:16.15.02102416848961544128512768102488384128512FALSE
modpub-copycatedge3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/modpub-copycatedge:12023.606.014210245128961287688801280FALSE
mod-listsorders3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-listsorders:212.08.023000204826001440128102420481024384512FALSE
modedge-entities-linkspatron43579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/modedge-entities-linkspatron:35.01.0225921024248089640025614407680881024128FALSE
modedge-permissionsncip63579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/modedge-permissionsncip:61.59.022168410241544896512128102476838488512128FALSE
pubedge-inn-edgereach32579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/pubedge-inn-edgereach:2023.06.143.1.1-SNAPSHOT.45210248961287680880128FALSE
mod-users-ordersbl3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-users-ordersbl:127.87.0220481440144011521024512102492238488512128FALSE
edgemod-patronoa32579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edgemod-patronoa:52.1.0-SNAPSHOT.622102489625612876888128FALSE
edgemod-inventory-ncipstorage3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edgemod-inventory-ncipstorage:27.1.9.2021024409689636901282048768307688384128512FALSE
edgemod-inn-reachinvoice24579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edgemod-inn-reachinvoice:35.1.1-SNAPSHOT.458.0210241440896115212851276892288128FALSE
mod-usersuser-blimport3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-usersuser-blimport:73.78.0214401024115289651212892276888128FALSE
mod-oasender24579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-oasender:21.112.0-SNAPSHOT.622102489612876888128FALSE
modedge-inventoryoai-storagepmh3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/modedge-inventoryoai-storagepmh:272.19.0240961512369013602048102430761440384512FALSE
mod-data-invoiceexport-worker43579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-data-export-invoiceworker:53.82.01214403072115220485121024922204888384128512FALSE
mod-user-importrtac3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-user-importrtac:3.86.02102489612876888128FALSE
mod-sendercirculation-storage43579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-sendercirculation-storage:117.122.021024288089625921281536768181488384128512FALSE
edgemod-oai-pmhcalendar3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edgemod-oai-pmhcalendar:23.91.021512102413608961024128144076838488512128FALSE
mod-datasource-exportrecord-workerstorage3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-datasource-exportrecord-workerstorage:35.28.1025600307250002048102420483500384512FALSE
mod-event-rtacconfig3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-event-rtacconfig:32.67.02102489612876888128FALSE
mod-circulation-storagecourses3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-circulation-storagecourses:171.24.01022880102425928961536128181476838488512128FALSE
mod-circulation-calendaritem3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-calendarcirculation-item:31.10.02102489612876808801280FALSE
mod-source-record-storageinventory3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-source-record-storage:5.8inventory:20.2.0256002880500025922048102435001814384512FALSE
mod-event-configemail3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-event-configemail:21.717.02102489612876888128FALSE
mod-coursespubsub3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-coursespubsub:12.413.1002102415368961440128102476892288384128512FALSE
mod-circulation-item3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-circulation-item:124.02.0210242880896259212815360181403840512FALSE
mod-di-converter-inventorystorage3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-di-inventoryconverter-storage:202.2.022880102425928961024128181476838488512128FALSE
modedge-emailrtac3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/modedge-emailrtac:12.177.012102489612876888128FALSE
modedge-pubsuborders3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/modedge-pubsuborders:23.130.02153610241440896102412892276838488512128FALSE
mod-circulationusers34579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-circulationusers:2419.23.0122880102425928961536128181476838488512128FALSE
mod-ditemplate-converter-storageengine3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-ditemplate-converter-storageengine:21.220.02102489612876888128FALSE
edgemod-patron-rtacblocks3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edgemod-patron-rtacblocks:21.710.1021024896128102476888128FALSE
edgemod-ordersaudit3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edgemod-ordersaudit:32.09.02102489612876888128FALSE
modedge-usersfqm43579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/modedge-usersfqm:192.30.102102489612876888128FALSE
mod-templatesource-record-enginemanager3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-source-templaterecord-enginemanager:13.208.021024560089650001282048768350088384128512FALSE
modnginx-patron-blocksedge3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/modnginx-patron-blocksedge:12023.1006.01421024896102412876808801280FALSE
mod-quick-auditmarc3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-auditquick-marc:25.91.021102422888962176128768166488384128512FALSE
edgenginx-fqmokapi3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edgenginx-fqmokapi:22023.006.0142102489612876808801280FALSE
mod-source-record-manager3okapi-b4579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-source-record-manager:3.8okapi:5.3.0235600168450001440204810243500922384512FALSE
nginxmod-edgefeesfines3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/nginxmod-edgefeesfines:202319.061.1402102489612807680880128FALSE
mod-quickinvoice-marcstorage3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-quickinvoice-marcstorage:5.18.0122288187221761536128102416641024384512FALSE
nginxmod-okapidcb34579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/nginxmod-okapidcb:20231.061.1402102489612807680880128FALSE
okapimod-service-binteraction43579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/okapi:5.3.03168414401024922mod-service-interaction:4.0.12204818442561290384512FALSE
mod-feesfinesdata-export310579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-data-feesfinesexport:195.10.0421102420488961524128102476808801280FALSE
mod-invoice-storagepatron3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-invoice-storagepatron:56.81.021872102415368961024128102476838488512128FALSE
mod-dcboai-pmh43579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-oai-dcbpmh:13.113.021024409689636901282048768307688384128512FALSE
modedge-service-interactionconnexion3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/modedge-service-interaction:4connexion:1.2.0.12204810241844896256128129076838488512128FALSE
mod-kb-dataebsco-exportjava103579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-kb-dataebsco-exportjava:54.0.4012204810241524896102412807680880128FALSE
mod-patronnotes3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-patronnotes:65.12.02102489612876895288384128512FALSE
mod-oaidata-export-pmhspring3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-data-oaiexport-pmhspring:3.132.0214096204836901844204825630761536384512FALSE
edgemod-organizations-connexionstorage3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edgemod-organizations-connexionstorage:14.27.02102489612876870088128FALSE
mod-kb-ebsco-javalogin3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-kb-ebsco-java:4.0login:7.11.0214401298102489612876888384128512FALSE
modpub-notesokapi3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/modpub-notesokapi:52023.206.0142102489612895276838405120FALSE
mod-dataeusage-export-springreports3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-dataeusage-export-spring:3.2.01204818442561536384512FALSE
mod-organizations-storage3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-organizations-storage:4.7.02102489612870088128FALSE
mod-login3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-login:7.11.02144012981024768384512FALSE
pub-okapi3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/pub-okapi:2023.06.142102489612876800FALSE
mod-eusage-reports3579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-eusage-reports:2.1.12102489612876888128FALSE
reports:2.1.12102489612876888128FALSE



Additional links and Errors


Test №5 had one failed record for Tenant 2(qcp1-01) when processed 50k files.

  • 09:55:16 [526300/metadata-provider] [fs07000001] [] [mod-authtoken] ERROR Api Access for user 'folio' (9eb67301-6f6e-468f-9b1a-6134dc39a684) requires permission: metadata-provider.incomingrecords.get
  • 09:55:16 [815600/metadata-provider] [fs07000001] [9eb67301-6f6e-468f-9b1a-6134dc39a684] [mod_source_record_manager] ERROR PostgresClient queryAndAnalyze: ERROR: invalid input syntax for type uuid: "undefined" (22P02) - SELECT * FROM get_record_processing_log('3e63f944-40ea-477c-ac21-79bb24780bc5', 'undefined')
  • 09:55:16 [526300/metadata-provider] [fs07000001] [] [mod-authtoken] ERROR FilterApi Permission missing in []

Also we used different order for Tenants when load files, we decided started load files from Tenant 3(qcp1-02) → Tenant 2(qcp1-01) → Tenant 1(qcp1-00) to avoid problem when mod-permissions spiked and  system stacked.

CPU Utilization when mod-permissions spiked and  system stacked.

Image Added


CPU Utilization when mod-permissions spiked and  system stacked.

Image Added


Recommendations & Jiras (Optional)

Link to Jira ticket: https://folio-org.atlassian.net/browse/PERF-801


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.

...

  • 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.
  • 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 file, using the start and finish dates of the data import tests. These results were visualized in JMeter using a Listener (Response Times Over Time).

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 1k, 10k, 25k and 50k records files DI started on 3 tenants concurrentlyOrder for load file without pause between files: 50k, 25k, 10k, 5k, and 1k for order tenantsTenant 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 tenantsTenant 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 concurrentlyOrder for load file without pause between files: 1k, 5k, 10k, 25k and 50k for order tenantsTenant 3(qcp1-02), Tenant 2(qcp1-01) and Tenant 1(qcp1-00)

...