Skip to end of banner
Go to start of banner

mod-search: Test Reindexing of Instances on consortium environment (Poppy)

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 20 Current »

Overview

The purpose of the document is to assess reindexing performance on a consortium environment. Calculate reindex time and size of index.

Recommendations & Jiras

Test Summary

  • Reindexing process for consortium environment takes:
    • 3 hours for 3 tenants in parallel (1.7M instances);
    • 2 hours for central tenant reindexing (1.2M instances);
    • 1 hour for secondary tenant reindexing  (353K instances);
    • 20 minutes for secondary tenant reindexing (202K instances).
  • Duration depends not only on instance number, but also its type (source). cs00000int_0001 tenant has a lot of shared instances (343K) but much less unshared ones (10K) compared to cs00000int_0002 (200K unshared). Data details can be found here: Datastructure
  • High CPU utilization is observed on nginx-okapi module - up to 413% during 3 tenants test.
  • CPU utilization for mod-inventory-storage reached 102% during test on central tenant. mod-search CPU utilization was about 13-27% during all the tests.
  • No memory leaks suspected.

Test Runs /Results

Test #

Instances number

Test Conditions

reindexing on Poppy release, consortium environment

Duration *

Notes


1. 2023-11-28 09:20-12:20 UTC

1766108

In parallel: 3 tenants

3 hours
  • mod-search task count =8
  • mod-inventory-storage task count = 2
  • mod-okapi task count = 3
  • open search instance scaled up to r6g.4xlarge.search
  • without configuration of number_of_replicas and refresh_interval values of ES/OpenSearch

2. 2023-11-29 08:50 - 10:50 UTC

1212927

Sequential: cs00000int

2 hours

3. 2023-11-29 14:05 - 15:05 UTC

353179

Sequential: cs00000int_0001

1 hour
4. 2023-11-2915:22 - 15:42 UTC200002Sequential: cs00000int_000220 min

*Duration depends not only on instance number, but also it's type (source). Data details can be found here: Datastructure

Indexing size

All the data from the tables below were capruted after each test was finished.

In parallel: 3 tenants
healthstatusindexuuidprirepdocs.countdocs.deletedstore.sizepri.store.size
greenopenpcon_instance_subject_cs00000intoo6lG2KjRBm68SlF4cQf-A428515061886133.4gb1.1gb
greenopenpcon_contributor_cs00000intD9izLpcOQWmqZFJhl6kyyA428553002315251.8gb685mb
greenopenpcon_authority_cs00000int5CbWdgFrQSSBRlcNHPk7-A42002.4kb832b
greenopenpcon_instance_cs00000int6i5vkM6kRHOOu4ahRqESkA421204190149823.7gb7.8gb

Results from get-request for reindex monitoring:

TenantReindex idGet request reindex
cs00000int5dfca883-6236-438c-b4a4-bfd2274cdc0b1212891
cs00000int_00186a89e41-2858-4a9c-9e58-578ccf677413353179
cs00000int_00201ec9821-aca8-4a28-8c02-844807191ca9200002

SUM1766072


healthstatusindexuuidprirepdocs.countdocs.deletedstore.sizepri.store.size
Sequential: cs00000int
greenopenpcon_instance_subject_cs00000intXMqrUxTkTNKz4rIS1fi9Ug428624111063003.2gb1gb
greenopenpcon_contributor_cs00000intTGA0HARfRLGXMDuFyQcmfg428355331627921.5gb560.8mb
greenopenpcon_authority_cs00000int5CbWdgFrQSSBRlcNHPk7-A42002.4kb832b
greenopenpcon_instance_cs00000intR_Goc_w2T8CRnfvfbbsxHg421212891025.9gb8.5gb
Sequential: cs00000int_0001
greenopenpcon_instance_subject_cs00000intXMqrUxTkTNKz4rIS1fi9Ug42865366834664.6gb1.5gb
greenopenpcon_contributor_cs00000intTGA0HARfRLGXMDuFyQcmfg42839478903802.3gb806mb
greenopenpcon_authority_cs00000int5CbWdgFrQSSBRlcNHPk7-A42002.4kb832b
greenopenpcon_instance_cs00000intR_Goc_w2T8CRnfvfbbsxHg42122289116158428.5gb9.4gb
Sequential: cs00000int_0002
greenopenpcon_instance_subject_cs00000intXMqrUxTkTNKz4rIS1fi9Ug429554671265344.5gb1.2gb
greenopenpcon_contributor_cs00000intTGA0HARfRLGXMDuFyQcmfg429290451899492.7gb1gb
greenopenpcon_authority_cs00000int5CbWdgFrQSSBRlcNHPk7-A42002.4kb832b
greenopenpcon_instance_cs00000intR_Goc_w2T8CRnfvfbbsxHg42142288916158832.6gb10.9gb

Results from get-request for reindex monitoring:

TenantReindex idGet request reindex
cs00000intbb944cf4-b99f-4aa3-b13e-f5c92dc630ed1212891
cs00000int_001cf943d63-50db-4085-9629-783d7acdc67b353179
cs00000int_002c62e2662-6a21-47fd-9bb8-eea11364c2c1200002

SUM1766072

Service CPU Utilization

Test #1 (3 tenants in parallel)

Maximum CPU utilization:

nginx-okapi - 413%

mod-inventory-storage - 95%

okapi - 73%

mod-search - 27%


Test #2 (cs00000int main tenant, sequential)

Maximum CPU utilization:

nginx-okapi - 332%

mod-inventory-storage - 102%

okapi - 63%

mod-search - 27%


Test #3 and #4 (cs00000int_0001, cs00000int_0002 secondary tenants, sequential)

Maximum CPU utilization:

nginx-okapi - 285%

mod-inventory-storage - 98%

okapi - 63%

mod-search - 13%

Memory Utilization

Test #1 (3 tenants in parallel)

Memory utilization:

mod-search - 38% → 50%

mod-inventory-storage - 11% → 31%


Test #2 (cs00000int main tenant, sequential)

Memory utilization:

mod-search - 37% → 50%

mod-inventory-storage - 13% → 21%


Test #3 and #4 (cs00000int_0001, cs00000int_0002 secondary tenants, sequential)

Memory utilization:

mod-search - 33% → 49%

mod-inventory-storage - 26% → 31%

DB CPU Utilization

Test #1 (3 tenants in parallel)

Maximum DB CPU utilization - 37%


Test #2 (cs00000int main tenant, sequential)

Maximum DB CPU utilization - 56%


Test #3 and #4 (cs00000int_0001, cs00000int_0002 secondary tenants, sequential)

Maximum DB CPU utilization - 36%

DB Connections

Test #1 (3 tenants in parallel)

Test #2 (cs00000int main tenant, sequential)

Test #3 and #4 (cs00000int_0001, cs00000int_0002 secondary tenants, sequential)

Open Search CPU

Test #1 (3 tenants in parallel)

Maximum CPU utilization - 57%


Test #2 (cs00000int main tenant, sequential)

Maximum CPU utilization - 47%


Test #3 and #4 (cs00000int_0001, cs00000int_0002 secondary tenants, sequential)

Maximum CPU utilization - 53%

Open Search Indexing Data Rate

Test #1 (3 tenants in parallel)

Test #2 (cs00000int main tenant, sequental)

Test #3 and #4 (cs00000int_0001, cs00000int_0002 secondary tenants, sequential)

Open Search Indexing Latency

Test #1 (3 tenants in parallel)

Test #2 (cs00000int main tenant, sequential)

Test #3 and #4 (cs00000int_0001, cs00000int_0002 secondary tenants, sequential)

Appendix

Infrastructure

PTF-environment pcon

  • 10 m6g.2xlarge EC2 instances located in US East (N. Virginia)us-east-1 
  • 2 instances of db.r6g.xlarge database instances, one reader and one writer 
  • MSK ptf-kakfa-3
    • 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

Data structure

TenantSourceInstance numberInstances sum
cs00000intFOLIO1150351212927
MARC1097892
cs00000int_0001CONSORTIUM-FOLIO38712353179
CONSORTIUM-MARC304467
FOLIO1000
MARC9000
cs00000int_0002CONSORTIUM-MARC4200002
FOLIO30000
MARC169998

Module versions

Module
pcon-pvt
Task Def. RevisionModule VersionTask CountMem Hard LimitMem Soft limitCPU unitsXmxMetaspaceSizeMaxMetaspaceSizeR/W split enabled
mod-remote-storage2579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-remote-storage:3.0.024920447110243960512512false
mod-ncip1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-ncip:1.14.12102489612876888128false
mod-finance-storage1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-finance-storage:8.5.021024896102470088128false
mod-agreements1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-agreements:6.0.0215921488128968384512false
mod-ebsconet1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-ebsconet:2.1.0212481024128700128256false
mod-consortia1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-consortia:1.0.02102489612876888128false
edge-sip21579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edge-sip2:3.1.02102489612876888128false
mod-organizations1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-organizations:1.8.02102489612876888128false
mod-settings1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-settings:1.0.12102489620076888128false
mod-search2579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-search:3.0.3225922480204814405121024false
edge-dematic1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edge-dematic:2.1.01102489612876888128false
mod-data-import1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-data-import:3.0.01204818442561292384512false
mod-tags1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-tags:2.1.02102489612876888128false
mod-authtoken1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-authtoken:2.14.021440115251292288128false
mod-notify1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-notify:3.1.02102489612876888128false
mod-inventory-update1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-inventory-update:3.2.12102489612876888128false
mod-configuration1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-configuration:5.9.22102489612876888128false
mod-orders-storage1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-orders-storage:13.6.02102489651276888128false
edge-caiasoft1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edge-caiasoft:2.1.02102489612876888128false
mod-login-saml1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-login-saml:2.7.02102489612876888128false
mod-gobi1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-gobi:2.7.02102489612876888128false
mod-password-validator1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-password-validator:3.1.0214401298128768384512false
mod-licenses1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-licenses:5.0.02248023121281792384512false
mod-bulk-operations1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-bulk-operations:1.1.023072260010241536384512false
mod-graphql2579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-graphql:1.12.02102489612876888128false
mod-finance1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-finance:4.8.02102489612876888128false
mod-copycat1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-copycat:1.5.02102489612876888128false
mod-entities-links1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-entities-links:2.0.0225922480400144001024false
mod-permissions2579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-permissions:6.4.02168415445121024384512false
pub-edge2579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/pub-edge:2023.06.142102489612876800false
mod-orders1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-orders:12.7.022048144010241024384512false
edge-patron1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edge-patron:5.0.02102489625676888128false
edge-ncip1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edge-ncip:1.9.02102489612876888128false
mod-users-bl1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-users-bl:7.6.021440115251292288128false
mod-inventory-storage1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-inventory-storage:27.0.024096369020483076384512false
mod-invoice1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-invoice:5.7.021440115251292288128false
mod-user-import1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-user-import:3.8.02102489612876888128false
mod-sender1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-sender:1.11.02102489612876888128false
edge-oai-pmh1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edge-oai-pmh:2.7.021512136010241440384512false
mod-data-export-worker1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-data-export-worker:3.1.023072280010242048384512false
mod-rtac1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-rtac:3.5.02102489612876888128false
mod-circulation-storage1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-circulation-storage:17.1.022880259215361814384512false
mod-source-record-storage1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-source-record-storage:5.7.025600500020483500384512false
mod-calendar1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-calendar:2.5.02102489612876888128false
mod-event-config1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-event-config:2.6.02102489612876888128false
mod-courses1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-courses:1.4.82102489612876888128false
mod-inventory1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-inventory:20.1.022880259210241814384512false
mod-email1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-email:1.16.02102489612876888128false
mod-di-converter-storage1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-di-converter-storage:2.1.02102489612876888128false
mod-pubsub1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-pubsub:2.11.02153614401024922384512false
mod-circulation1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-circulation:24.0.022880259215361814384512false
edge-orders1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edge-orders:2.9.02102489612876888128false
edge-rtac1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edge-rtac:2.6.02102489612876888128false
mod-template-engine1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-template-engine:1.19.12102489612876888128false
mod-users2579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-users:19.2.02102489612876888128false
mod-patron-blocks1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-patron-blocks:1.9.021024896102476888128false
mod-audit1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-audit:2.8.02102489612876888128false
mod-source-record-manager1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-source-record-manager:3.7.025600500020483500384512false
nginx-edge2579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/nginx-edge:2023.06.1421024896128000false
mod-quick-marc1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-quick-marc:5.0.01228821761281664384512false
nginx-okapi2579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/nginx-okapi:2023.06.1421024896128000false
okapi-b2579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/okapi:5.1.13168414401024922384512false
mod-feesfines1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-feesfines:19.0.02102489612876888128false
mod-invoice-storage1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-invoice-storage:5.7.021872153610241024384512false
mod-service-interaction1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-service-interaction:3.0.02204818442561290384512false
mod-patron1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-patron:6.0.02102489612876888128false
mod-data-export1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-data-export:4.8.011024896102476888128false
mod-oai-pmh1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-oai-pmh:3.12.024096369020483076384512false
edge-connexion1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/edge-connexion:1.1.02102489612876888128false
mod-kb-ebsco-java1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-kb-ebsco-java:4.0.02102489612876888128false
mod-notes1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-notes:5.1.021024896128952384512false
mod-organizations-storage1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-organizations-storage:4.6.02102489612876888128false
mod-login1579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-login:7.10.12144012981024768384512false
mod-data-export-spring2579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/mod-data-export-spring:3.0.01204818442561536384512false
pub-okapi2579891902283.dkr.ecr.us-east-1.amazonaws.com/folio/pub-okapi:2023.06.142102489612876800false

Methodology/Approach

  • Use consortium cluster for testing (pcon in our case).
  • Configure the environment in accordance with Infrastructure parameters to the one that FSE commonly uses.
  • Run reindex, get the results for indexing time, index size. Use Steps for testing process#Reindex for details.
  • Compare results.
  • No labels