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 18 Next »

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

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