VIH_View instance holdings details (folio-cache) - NLA report

IN PROGRESS

Overview


In the scope of PERF-598 - Getting issue details... STATUS

Perform a fixed load test on the VIH_View instance holdings details (folio-cache) functionality with the same average and high loads that are used for NLA testing to get baseline numbers.

Summary

  • Response time for VIH_View instance holdings details (folio-cache) separate workflow is 2.805 sec and it is higher than for high load (1.591) and normal load tests (1.456).
  • Average CPU usage of mod-inventory - up to 11% for all other modules did not exceed 5 %. Instance CPU Utilization did not exceed 7,5%.
  • Service memory utilization was stable, and no memory leaks were suspected during tests.
  • DB CPU usage was at the same level as without load- about 7,2%. 342 connections count without load was increased to 346 connections during the tests.

Test Runs & Results

Test #

# configuration

Test durationcomments
1Throughput for VIH_View instance holdings details (folio-cache) operations is 1 per minute or about 60 per hour *1 hourNO errors
2Throughput for VIH_View instance holdings details (folio-cache) operations is 1 per minute or about 60 per hour *1 hourNO errors

 * - For both cases normal and stress usage load for VIH_View instance holdings details (folio-cache) operations should be every 5 minutes or 12/hour according to NLA workflow document. That is why was assumed that load 1 operation per minute or about 60 per hour is enough for both cases.

 Test results from 1st test run (1st, 2nd and 3rd test run results are similar):

Test #

Workflow name 

Total time it takes to complete workflow

Comment


Avg (sec) Baseline95th pct (sec) BaselineAvg With DI (sec) normal load95th pct with DI (sec)  normal loadAvg (sec) high load with FYR95th pct (sec) high load with FYRAvg (sec) high load95th pct (sec) high loadAvg (sec) normal load95th pct (sec) normal load
1VIH_View instance holdings details (folio-cache)2.8053.44321.24131.6981.9592.5211.5911.8371.4561.572The most time consuming request is VIH_GET /inventory/instances?offset=0&limit=1000 average baseline time is 2.668 s

Throughput graphs

For Test#1, and Test#2 graphs are almost the same.

Memory Utilization

This graph represents memory usage of test runs and shows that no memory leak is suspected for all of the modules.





Service CPU Utilization 

Average CPU usage of mod-inventory - up to 11% for all other modules did not exceed 5 %.

Detailed modules (mod-inventory, mod-inventory-storage, mod-source-record-storage, mod-source-record-manager)


Instance CPU Utilization

Instance CPU Utilization did not exceed 7,5%.


RDS CPU Utilization 

DB CPU usage was at the same level as without load- about 7,2%.


RDS Database Connections


Test# 1 - Test# 3 - 342 connections count without load was increased to 346 connections during the test.

Appendix

Infrastructure

Load generator 

Instance Type: t3.2xlarge (Ram memory in GB available per load generator - 30 GB needed for the test with high load)


PTF -environment ncp3 

  • 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
  • Kafka topics partitioning: - 2 partitions for DI topics


Modules memory and CPU parameters

Modules

Version

Task Definition

Running Tasks 

CPU

Memory

MemoryReservation

MaxMetaspaceSize

Xmx

mod-inventory-storage26.0.0121024220819523841440
mod-inventory20.0.4121024288025925121814
mod-tags2.0.1121281024896128768
mod-gobi2.6.0121281024896128700
mod-remote-storage2.0.2121024492044725123960
mod-invoice-storage5.6.0121281024896128700
edge-sip23.0.0121281024896128768
mod-users-bl7.5.01251214401152128922
edge-rtac2.6.0121281024896128768
mod-feesfines18.2.1121281024896128768
mod-rtac3.5.0121281024896128768
mod-erm-usage-harvester4.3.0121281024896128768
mod-search2.0.1124002592248010241440
mod-service-interaction2.2.212256204818445121290
edge-ncip1.8.1121281024896128768
mod-authtoken2.13.01251214401152128922
mod-permissions6.3.122512168415445121024
mod-circulation-storage16.0.012102415361440512896
mod-ncip1.13.1121281024896128768
mod-pubsub2.9.112102415361440512922
edge-orders2.8.112102415361440512922
mod-circulation23.5.412153628802592128700
edge-caiasoft2.0.0121281024896--
mod-data-export4.7.11110241024896128768
mod-organizations-storage4.5.1121281024896128700
mod-source-record-storage5.6.5122048560050005123600
mod-copycat1.4.0128961024896128768
mod-bulk-operations1.0.5121024307226005121536
mod-quick-marc3.0.011128228821765121664
mod-audit2.7.01210241024896128768
mod-oai-pmh3.11.3121024224820005121440
edge-connexion1.0.6121281024896128768
mod-kb-ebsco-java3.13.0121281024896128768
mod-patron5.5.2121281024896128768
mod-email1.15.3121281024896128768
mod-password-validator3.0.01212814401298512768
mod-login7.9.012102414401298512768
mod-data-export-worker3.0.12121024307226005122048
mod-agreements5.5.212128309625805122048
edge-oai-pmh2.6.1121024151213605121440
mod-eusage-reports1.3.0121281024896128768
mod-orders-storage13.5.0125121024896128700
mod-notify3.0.0121281024896128768
mod-source-record-manager3.6.2122048560050005123600
mod-di-converter-storage2.0.2221281024896128768
mod-template-engine1.18.0121281024896128768
mod-user-import3.7.2121281024896128768
mod-finance-storage8.4.1121281024896128700
mod-users19.1.1121281024896128768
mod-sender1.10.0121281024896128768
mod-graphql1.11.0121281024896128768
mod-licenses4.3.112128248023125121792
mod-invoice-b5.6.21251214401152128922
mod-event-config2.5.0121281024896128768
mod-calendar2.4.2121281024896128768
mod-erm-usage4.5.2121281024896128768
mod-patron-blocks1.8.01210241024896128768
mod-data-import2.7.111256204818445121292
mod-ebsconet2.0.01212812481024256700
edge-dematic2.0.0121281024896--
mod-task-list5.0.1111281024896128768
mod-courses1.4.7121281024896128768
mod-inventory-update3.0.1121281024896128768
mod-login-saml2.6.1121281024896128768
mod-orders12.6.612102420481440 (Recommended to change to 1544)5121024
mod-configuration5.9.1121281024896128768
mod-organizations1.7.0121281024896128700
mod-notes5.0.1121281024896128322
mod-finance4.7.1121281024896128700
mod-data-export-spring2.0.111256204818442561292
edge-patron4.11.0122561024896128768
okapi5.0.123102416841440512922
nginx-okapi2022.03.02121281024896--
pub-okapi2022.03.02121281024896-768

Methodology/Approach

To test Baseline for stress testing of NLA library usage the JMeter scripts were used.

Tested without DI.

Data was gathered from 2 periods with and without FYR.


  • DI - data import
  • FYR - Fiscal close - end of FY rollover