Skip to end of banner
Go to start of banner

PTF - List App (Orchid)

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


Overview

This document contains the results of testing List App refreshing of 200k records in the Orchid release. PERF-619 - Getting issue details... STATUS

Summary

  • Duration for list refresh of 200k records is up to 11 minutes 40 seconds for 10 concurrent users.
  • Memory utilization increasing for mod-lists up to 33% due to previous module restarting and everyday cluster shutdown processes - no memory leak is suspected for all of the modules.
  • For mod-lists, CPU utilization was up to 384% for the test with 10 concurrent users and R/W split disabled. Average CPU usage did not exceed 13 % for all other modules.
  • Approximately DB CPU usage is up to 99.5%.

Recommendations and Jiras

  • Use database read-write split enabled for mod-lists to improve performance.
  • Increase default CPU allocation for mod-list service up to 4x to 512 from 128.

Results

200k records list refresh for each user.

Number of users

Duration

Test 1

Duration

Test 2

Duration

Test 3

mod-lists R/W split enabled
 1 user13 min 30 sec (1st time after mod-lists restart)4min 33 sec4 min 52 sec
2 users4 min 40 sec5 min4 min 55 sec
5 users6 min-6 min 13 sec6 min 16 sec-6 min 24 sec6min 41 sec
10 users9 min 40 sec - 10 min 10 sec10 min -10 min 40 sec9 min 50 sec-10 min 7 sec
mod-lists R/W split disabled
1 user13 min 23 sec (1st time after mod-lists restart)4 min 30 sec4 min 24 sec
2 users4 min 42 sec5 min 15 sec5 min 19 sec
5 users7 min -7 min 29 sec6 min 55 sec- 7 min 24 sec7 min -7 min 25 sec
10 users10 min 30 sec - 11 min 35 sec 11 min 10 sec- 11 min 40 sec 10 min 45 sec- 11 min 35 sec
mod-lists R/W split disabled + increased CPU to 512 for mod-lists
1 user5 min 3 sec (1st time after mod-lists restart)4 min 55 sec5 min
2 users5 min5 min 42 sec 5 min 25 sec
5 users7 min 30 sec- 8 min7 min 10 sec- 7 min 30 sec7 min 10 sec- 7 min 30 sec
10 users10 min -10 min 45 sec10 min 10 sec -11 min10 min 45 sec- 10 min 55 sec

 * - Tests were performed with disabled circulation jobs

Memory Utilization

Memory utilization increasing for mod-lists up to 33% due to previous module restarting and everyday cluster shutdown processes - no memory leak is suspected for all of the modules.


mod-lists

Service CPU Utilization 

For mod-lists, CPU utilization was up to 384% for the test with 10 concurrent users and R/W split disabled. Average CPU usage did not exceed 13 % for all other modules. Each CPU spike corresponds to a separate list refresh.


mod-lists


RDS CPU Utilization 

RDS CPU Utilization was very high. Approximately DB CPU usage is up to 99.5%


RDS Database Connections

DB Load


Long-running queries: 

select id from [tenant]_mod_fqm_manager.drv_item_details where lower(cast(item_status as varchar)) = lower($1) order by item_effective_call_number asc, item_effective_location_name asc, instance_title asc, instance_primary_contributor asc
delete from list_contents where list_id=$1 and refresh_id=$2


Appendix

Infrastructure

Records count :

  • mod_inventory_storage.item = 22130108

PTF -environment ncp5 

  • 12 m6i.2xlarge EC2 instances located in US East (N. Virginia)us-east-1
  • 2 database  instances, one reader, and one writer

    NameAPI NameMemory GIBvCPUsmax_connections
    R6G Extra Largedb.r6g.xlarge32 GiB4 vCPUs2731
  • 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


Modules memory and CPU parameters

Module
ncp5-pvt
Wed Aug 23 10:38:27 UTC 2023
Task Def. RevisionModule VersionTask CountMem Hard LimitMem Soft limitCPU unitsXmxMetaspaceSizeMaxMetaspaceSizeR/W split enabled
mod-remote-storage14mod-remote-storage:2.0.324920447210243960512512true
mod-codex-mux3mod-codex-mux:2.13.0-SNAPSHOT.1082102489612876888128false
mod-finance-storage9mod-finance-storage:8.4.221024896102470088128false
mod-ncip9mod-ncip:1.13.12102489612876888128false
mod-agreements6mod-agreements:5.5.2215921488128968384512false
mod-ebsconet6mod-ebsconet:2.0.0212481024128700128256false
mod-organizations6mod-organizations:1.7.02102489612870088128false
edge-sip24edge-sip2:3.0.02102489612876888128false
mod-settings6mod-settings:1.0.021024896200000false
mod-data-import9mod-data-import:2.7.11204818442561292384512true
edge-dematic14edge-dematic:2.0.111024896128000false
mod-search8mod-search:2.0.1225922480204814405121024false
mod-inn-reach1mod-inn-reach:3.1.0-SNAPSHOT.4922304204851214405121024false
mod-tags6mod-tags:2.0.12102489612876888128false
mod-authtoken7mod-authtoken:2.13.021440115251292288128true
mod-notify7mod-notify:3.0.02102489612876888128false
mod-inventory-update6mod-inventory-update:3.0.12102489612876888128false
mod-configuration9mod-configuration:5.9.12102489612876888128true
mod-orders-storage6mod-orders-storage:13.5.02102489651270088128false
edge-caiasoft6edge-caiasoft:2.0.021024896128000false
mod-login-saml6mod-login-saml:2.6.22102489612876888128false
mod-erm-usage-harvester7mod-erm-usage-harvester:4.3.12102489612876888128false
mod-password-validator6mod-password-validator:3.0.0214401298128768384512false
mod-licenses6mod-licenses:4.3.12248023121281792384512false
mod-gobi6mod-gobi:2.6.02102489612870088128false
mod-bulk-operations17mod-bulk-operations:1.0.623072260010241536384512false
mod-fqm-manager19mod-fqm-manager:1.0.0-SNAPSHOT.8411300026001282048384512true
mod-graphql6mod-graphql:1.11.02102489612876888128false
mod-finance6mod-finance:4.7.12102489612870088128false
mod-erm-usage7mod-erm-usage:4.5.32102489612876888128false
mod-copycat6mod-copycat:1.4.02102489612876888128false
mod-lists3-4-5mod-lists:1.0.0-SNAPSHOT.1130130002600128/5122048384512false/true
mod-permissions20mod-permissions:6.3.22168415445121024384512true
mod-entities-links7mod-entities-links:1.0.2225922480400144001024false
pub-edge7pub-edge:2023.06.142102489612876800false
mod-codex-inventory3mod-codex-inventory:2.4.0-SNAPSHOT.1392102489612876888128true
mod-orders11mod-orders:12.6.822048144010241024384512false
edge-patron6edge-patron:4.11.02102489625676888128false
edge-ncip6edge-ncip:1.8.12102489612876888128false
mod-users-bl8mod-users-bl:7.5.021440115251292288128false
mod-inventory-storage11mod-inventory-storage:26.0.024096369020483076384512true
mod-invoice6mod-invoice:5.6.521440115251292288128false
mod-user-import6mod-user-import:3.7.22102489612876888128false
mod-sender7mod-sender:1.10.02102489612876888128false
edge-oai-pmh9edge-oai-pmh:2.6.121512136010241440384512false
mod-data-export-worker10mod-data-export-worker:3.0.1323072280010242048384512false
mod-rtac8mod-rtac:3.5.02102489612876888128false
mod-task-list3mod-task-list:1.7.12102489612876888128false
mod-circulation-storage13mod-circulation-storage:16.0.0.1622880259215361814384512false
mod-calendar8mod-calendar:2.4.22102489612876888128false
mod-source-record-storage26mod-source-record-storage:5.6.725600500020483500384512true
mod-event-config6mod-event-config:2.5.02102489612876888128false
mod-courses6mod-courses:1.4.72102489612876888128false
mod-inventory1mod-inventory:20.0.402880259210241814384512false
mod-email6mod-email:1.15.32102489612876888128false
mod-circulation7mod-circulation:23.5.6228802592153676888128false
mod-di-converter-storage6mod-di-converter-storage:2.0.52102489612876888128false
mod-pubsub10mod-pubsub:2.9.12153614401024922384512true
edge-orders6edge-orders:2.8.12102489612876888128false
edge-rtac6edge-rtac:2.6.02102489612876888128false
mod-template-engine6mod-template-engine:1.18.02102489612876888128false
mod-users8mod-users:19.1.12102489612876888128true
mod-patron-blocks11mod-patron-blocks:1.8.021024896102476888128true
mod-audit9mod-audit:2.7.02102489612876888128false
mod-source-record-manager18mod-source-record-manager:3.6.425600500020483500384512false
nginx-edge8nginx-edge:2023.06.1421024896128000false
mod-quick-marc6mod-quick-marc:3.0.01228821761281664384512false
nginx-okapi7nginx-okapi:2023.06.1421024896128000false
okapi-b8okapi:5.0.13168414401024922384512false
mod-feesfines9mod-feesfines:18.2.12102489612876888128true
mod-invoice-storage6mod-invoice-storage:5.6.021872153610241024384512false
mod-codex-ekb3mod-codex-ekb:1.11.0-SNAPSHOT.1412102489612876888128false
mod-service-interaction6mod-service-interaction:2.2.22204818442561290384512false
mod-data-export6mod-data-export:4.7.111024896102476888128false
mod-patron7mod-patron:5.5.22102489612876888128false
mod-oai-pmh10mod-oai-pmh:3.11.324096369020483076384512true
edge-connexion6edge-connexion:1.0.62102489612876888128false
mod-kb-ebsco-java7mod-kb-ebsco-java:3.13.02102489612876888128false
mod-notes6mod-notes:5.0.121024896128952384512false
mod-data-export-spring8mod-data-export-spring:2.0.21204818442561536384512false
mod-organizations-storage7mod-organizations-storage:4.5.12102489612870088128false
mod-login6mod-login:7.9.02144012981024768384512false
pub-okapi7pub-okapi:2023.06.142102489612876800false
mod-data-import-converter-storage4mod-data-import-converter-storage:1.16.0-SNAPSHOT.1322102489612876888128false
mod-eusage-reports7mod-eusage-reports:1.3.02102489612876888128false

Methodology/Approach

To test Baseline for List refresh JMeter scripts were used.

Test preparation: 

  • Background circulation jobs were disabled.
  • 200k items were checked out
  • 10 lists were created with the query: (item_status == "Checked out") to be able to run a test for 10 concurrent users.

Refresh list for 1, 2, 5, and 10 concurrent users tested

  • No labels