Data Import Create MARC Holdings Records [Poppy]

Overview

The purpose of the document is getting results of testing Data Import Create MARC holdings records and to detect performance trends in Poppy in scope of ticket  PERF-700 - Getting issue details... STATUS

Compared with results in previous test report: Data Import Create MARC holdings records [Orchid]

Summary

  • Data import jobs duration decreased significantly compared to the Orchid release results for all tests
  • Top CPU utilization: nginx-okapi - 52%, mod-quick-marc-b - 45%, mod-inventory-b - 42%,  mod-source-record-storage-b - 25%
  • Top Memory consumption: mod-users-b - 60%, mod-data-import-b - 60%, okapi-b - 48%. There're no issues with memory.
  • DI jobs duration is directly proportional to the size of the files being processed.

Recommendations & Jiras

  • Autovacuum as background process increase DI job duration for 10%-25% so it's necessary to check DB activity before DI jobs start
  • SQL queries are the possible place where performance may be improved:
    • SQL DB Load with WAITS - Lock:tuple, Lock:transactionid take a major time in queries: 
      INSERT INTO [tenant]_mod_inventory_storage.holdings_record (id, jsonb) VALUES ($1, $2) RETURNING jsonb
      UPDATE [tenant]_mod_inventory_storage.holdings_record SET jsonb = $1::jsonb WHERE id = 'UUID'

Test Results

Profile used for testing - Default - Create Holdings and SRS MARC Holdings

Test

File

Duration: Morning_Glory

(previous results)

Duration: Nolana

(previous results)

Duration: Orchid

(previous results)

Duration: Poppy

1

1k28s32s45s32s
25k1m 48s4m 20s7m 47s2m 14s
310k4m 4s3m 24s19m 46s4m 35s
480k29m 6s21m 22s20m (error*)36m 25s

Comparison

Table contains comparison between Poppy and Orchid

Test

File

Duration: OrchidDuration: PoppyDiff_absoluteDiff_percentage

1

1k45s32s13s- 40%
25k7m 47s2m 14s5m 33s- 248%
310k19m 46s4m 35s15m  11s

- 331%

480k20m (error*)36m 25sNo data to compare in Orchid

Service CPU Utilization

 CPU utilization, 1k, 5k, 10k, 80k

1k

5k

10k

80k
mod-inventory-b26.42
nginx-okapi51.81
nginx-okapi51.66
nginx-okapi51.8
mod-quick-marc-b23.78
mod-quick-marc-b44.77
mod-quick-marc-b44.05
mod-quick-marc-b44.97
nginx-okapi21.44
mod-inventory-b44.21
mod-inventory-b43.83
mod-inventory-b41.39
mod-di-converter-storage-b11.78
okapi-b25.48
okapi-b25.16
okapi-b25.29
okapi-b11.54
mod-source-record-storage-b24.27
mod-source-record-storage-b24.19
mod-source-record-storage-b25.15
mod-source-record-storage-b10.67
mod-di-converter-storage-b20.29
mod-di-converter-storage-b20.36
mod-di-converter-storage-b19.79
mod-source-record-manager-b8.93
mod-inventory-storage-b17.44
mod-inventory-storage-b17.11
mod-inventory-storage-b17.79
mod-inventory-storage-b7.53
mod-source-record-manager-b16.93
mod-source-record-manager-b16.8
mod-source-record-manager-b16.92
mod-pubsub-b6.73
mod-pubsub-b6.67
mod-pubsub-b6.88
mod-pubsub-b6.79
mod-users-b6.32
mod-users-b6.5
mod-users-b6.39
mod-users-b6.37
mod-data-import-b4.04
mod-permissions-b2.85
mod-organizations-storage-b2.61
mod-permissions-b2.87
mod-organizations-storage-b2.29
mod-organizations-storage-b2.42
mod-notes-b2.27
mod-organizations-storage-b2.43
mod-notes-b2.05
mod-notes-b2.1
mod-gobi-b2.01
mod-notes-b2.14
mod-gobi-b2.01
mod-gobi-b2.01
mod-permissions-b1.43
mod-gobi-b2
mod-permissions-b1.46
mod-data-import-b1.41
mod-search-b1.31
mod-search-b1.48
mod-search-b1.25
mod-search-b1.26
mod-data-import-b1.29
mod-data-import-b1.32
mod-circulation-storage-b0.57
mod-circulation-storage-b0.59
mod-circulation-storage-b0.6
mod-circulation-storage-b0.58
mod-circulation-b0.32
mod-circulation-b0.47
mod-circulation-b0.32
mod-circulation-b0.32
pub-okapi0.27
pub-okapi0.19
pub-okapi0.18
pub-okapi0.18

nginx-okapi - 52%, mod-quick-marc-b - 45%, mod-inventory-b - 42%,  mod-source-record-storage-b - 25%


Memory Utilization

 Memory consumption
mod-inventory-b61.01
mod-users-b59.97
mod-data-import-b59.38
okapi-b48.24
mod-source-record-manager-b37.31
mod-search-b31.38
mod-di-converter-storage-b31.19
mod-quick-marc-b27.52
mod-pubsub-b24.53
mod-remote-storage-b21.59
mod-inventory-storage-b16.71
nginx-okapi4.68
pub-okapi4.58


DB CPU Utilization

DB CPU was about 80% for all tests except of 1k - 23%.

DB Connections

DB connections number- 505

DB Load


SQL queries


Infrastructure

PTF - environment pcp1

NameMemory GIBvCPUs

db.r6g.4xlarge

128 GiB16 vCPUs
  • MSK ptf-mobius-testing2
    • 2 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
 Modules
ModuleTask Def. RevisionModule VersionTask CountMem Hard LimitMem Soft limitCPU unitsXmxMetaspaceSizeMaxMetaspaceSizeR/W split enabled
pcp1-pvt









Thu Mar 14 14:24:59 UTC 2024









mod-remote-storage11mod-remote-storage:3.0.024920447210243960512512FALSE
mod-ncip10mod-ncip:1.14.42102489612876888128FALSE
mod-finance-storage10mod-finance-storage:8.5.021024896102470088128FALSE
mod-agreements10mod-agreements:6.0.2215921488128000FALSE
mod-ebsconet10mod-ebsconet:2.1.1212481024128700128256FALSE
edge-sip28edge-sip2:3.1.12102489612876888128FALSE
mod-organizations10mod-organizations:1.8.02102489612870088128FALSE
mod-settings11mod-settings:1.0.22102489620076888128FALSE
edge-dematic10edge-dematic:2.1.01102489612876888128FALSE
mod-data-import18mod-data-import:3.0.71204818442561292384512FALSE
mod-search20mod-search:3.0.5225922480204814405121024FALSE
mod-tags10mod-tags:2.1.02102489612876888128FALSE
mod-authtoken16mod-authtoken:2.14.121440115251292288128FALSE
edge-courses2edge-courses:1.3.02102489612876888128FALSE
mod-notify10mod-notify:3.1.02102489612876888128FALSE
mod-inventory-update10mod-inventory-update:3.2.12102489612876888128FALSE
mod-configuration10mod-configuration:5.9.22102489612876888128FALSE
mod-orders-storage10mod-orders-storage:13.6.02102489651270088128FALSE
edge-caiasoft10edge-caiasoft:2.1.02102489612876888128FALSE
mod-login-saml18mod-login-saml:2.7.12102489612876888128FALSE
mod-erm-usage-harvester11mod-erm-usage-harvester:4.4.12102489612876888128FALSE
mod-password-validator10mod-password-validator:3.1.0214401298128768384512FALSE
mod-licenses10mod-licenses:5.0.22248023121281792384512FALSE
mod-gobi10mod-gobi:2.7.12102489612870088128FALSE
mod-fqm-manager9mod-fqm-manager:1.1.0-SNAPSHOT.10782102489612876888128FALSE
mod-bulk-operations9mod-bulk-operations:1.1.723072260010241536384512FALSE
mod-graphql16mod-graphql:1.12.02102489612876888128FALSE
mod-finance10mod-finance:4.8.02102489612870088128FALSE
mod-erm-usage13mod-erm-usage:4.6.02102489612876888128FALSE
mod-copycat10mod-copycat:1.5.02102489612876888128FALSE
mod-lists8mod-lists:1.1.0-SNAPSHOT.12612102489612876888128FALSE
mod-entities-links15mod-entities-links:2.0.4225922480400144001024FALSE
mod-permissions47mod-permissions:6.5.0-SNAPSHOT.3692168415445121024384512FALSE
pub-edge9pub-edge:2023.06.142102489612876800FALSE
mod-orders10mod-orders:12.7.122048144010241024384512FALSE
edge-patron10edge-patron:5.0.02102489625676888128FALSE
edge-ncip11edge-ncip:1.9.22102489612876888128FALSE
mod-users-bl10mod-users-bl:7.6.021440115251292288128FALSE
mod-inventory-storage15mod-inventory-storage:27.0.424096369020483076384512FALSE
mod-invoice10mod-invoice:5.7.221440115251292288128FALSE
mod-user-import10mod-user-import:3.8.02102489612876888128FALSE
mod-sender10mod-sender:1.11.02102489612876888128FALSE
edge-oai-pmh8edge-oai-pmh:2.7.121512136010241440384512FALSE
mod-data-export-worker10mod-data-export-worker:3.1.223072280010242048384512FALSE
mod-rtac10mod-rtac:3.5.02102489612876888128FALSE
mod-circulation-storage14mod-circulation-storage:17.1.722880259215361814384512FALSE
mod-calendar10mod-calendar:2.5.02102489612876888128FALSE
mod-source-record-storage18mod-source-record-storage:5.7.525600500020483500384512FALSE
mod-event-config10mod-event-config:2.6.02102489612876888128FALSE
mod-courses10mod-courses:1.4.82102489612876888128FALSE
mod-inventory15mod-inventory:20.1.822880259210241814384512FALSE
mod-email10mod-email:1.16.02102489612876888128FALSE
mod-di-converter-storage18mod-di-converter-storage:2.1.52102489612876888128FALSE
mod-circulation14mod-circulation:24.0.1122880259215361814384512FALSE
mod-pubsub13mod-pubsub:2.11.32153614401024922384512FALSE
edge-orders10edge-orders:2.9.12102489612876888128FALSE
edge-rtac7edge-rtac:2.6.22102489612876888128FALSE
mod-template-engine10mod-template-engine:1.19.12102489612876888128FALSE
mod-users34mod-users:19.3.0-SNAPSHOT.6772102489612876888128FALSE
mod-patron-blocks10mod-patron-blocks:1.9.021024896102476888128FALSE
edge-fqm21edge-fqm:1.0.12102489612876888128FALSE
mod-audit10mod-audit:2.8.02102489612876888128FALSE
mod-source-record-manager17mod-source-record-manager:3.7.825600500020483500384512FALSE
nginx-edge9nginx-edge:2023.06.1421024896128000FALSE
mod-quick-marc11mod-quick-marc:5.0.11228821761281664384512FALSE
nginx-okapi9nginx-okapi:2023.06.1421024896128000FALSE
okapi-b11okapi:5.1.23168414401024922384512FALSE
mod-feesfines11mod-feesfines:19.0.02102489612876888128FALSE
mod-invoice-storage10mod-invoice-storage:5.7.021872153610241024384512FALSE
mod-service-interaction10mod-service-interaction:3.0.22204818442561290384512FALSE
mod-data-export12mod-data-export:4.8.711024896102476888128FALSE
mod-patron10mod-patron:6.0.02102489612876888128FALSE
mod-oai-pmh5mod-oai-pmh:3.12.824096369020483076384512FALSE
edge-connexion10edge-connexion:1.1.02102489612876888128FALSE
mod-kb-ebsco-java10mod-kb-ebsco-java:4.0.02102489612876888128FALSE
mod-notes10mod-notes:5.1.021024896128952384512FALSE
mod-organizations-storage10mod-organizations-storage:4.6.02102489612870088128FALSE
mod-data-export-spring12mod-data-export-spring:3.0.21204818442561536384512FALSE
mod-login10mod-login:7.10.12144012981024768384512FALSE
pub-okapi9pub-okapi:2023.06.142102489612876800FALSE
mod-eusage-reports13mod-eusage-reports:2.0.02102489612876888128FALSE