[Nolana] Check-IN + Item-level requests

Overview

The target of the test is to investigate the impact of the Check-In activities with previously created item-level requests and to compare tested results with direct non-functional requirements (see Jira ticket).

PERF-349 - Getting issue details... STATUS

Summary

  • Test results don't show a substantial negative impact of Check-In activities with previously created item-level requests:
    • The average response time of CI was approx. 340 ms and meet NFR (500 ms).
  • Expected high memory usage was detected for mod-circulation - 76%  
  • All modules show expected CPU behaviour and typical workload - 28.4% in a peak

Test Runs 

Test #

Test Conditions

Duration 

Load generator size (recommended)Load generator Memory(GiB) (recommended)

1.

25 users CI30 mint3.medium1

Results

Response Times 

Grafana: http://carrier-io.int.folio.ebsco.com/grafana/d/elIt9zCnz/jmeter-performance-test-copy?orgId=1&from=1676283329190&to=1676285621802&var-percentile=95&var-test_type=baseline&var-test=circulation_Check-IN_Nolana_ILR&var-env=int&var-grouping=1s&var-low_limit=250&var-high_limit=750&var-db_name=jmeter&var-sampler_type=All


Check-in

Average, ms

Check-in Controller
Test 1340.13

Comparisons

Based on PERF-349 - Getting issue details... STATUS 's requirement, test results are compared with NFR ("Expected response time: 500ms with 10 item-level holds").

Memory Utilization

CPU Utilization 

RDS CPU Utilization 

Appendix

Infrastructure

PTF -environment ncp3 [ environment name] 

  • 9 m6i.2xlarge EC2 instances located in US East (N. Virginia)us-east-1 [Number of ECS instances, instance type, location region]
  • 2 instances of db.r6.xlarge database instances: Writer & reader instances
  • MSK ptf-kakfa-3 [ kafka configurations]
    • 4 kafka.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:

Modules

Version

Task Definition

Running Tasks 

CPU

Memory (Soft/Hard Limits)

MaxMetaspaceSize

Xmx

(tick) mod-inventory19.0.27210242592/28805121814

(tick) mod-inventory-storage

25.0.3321024

1952/2208

5121440
(tick) okapi4.14.7131024

1440/1684

512922
(tick) mod-source-record-storage5.5.24210241440/1536512908

(tick) mod-source-record-manager

3.5.64210243688/40965122048
(tick) mod-data-import2.6.2412561844/20485121292
(tick) mod-data-import-cs1.15.112128896/1024128768
(tick) mod-quick-marc2.5.0311282176/22885121664
(tick) mod-feesfines18.1.132128896/1024128768
(tick) mod-patron-blocks1.7.1421024896/1024128768
(tick) mod-pubsub2.7.0421024

1440/1536

512922
(tick) mod-authtoken2.12.032

512

1152/1440

128

922

(tick) mod-circulation-storage15.0.2321024

1440/1536

512896
(tick) mod-circulation23.3.2321024896/1024128768
(tick) mod-configuration5.9.032128896/1024128768
(tick) mod-users19.0.042128896/1024128768
(tick) mod-remote-storage1.7.1321281692/18725121178

Methodology/Approach

  1. Created hundreds of items with 10 item-level requests attached. These items were also checked out.
  2. Executed check ins with 25 concurrent vUsers using these items for 30 minutes.  (On carrier-io used the artifact "circulation_Check-IN_Nolana_ILR.zip")
  3. Scripts used:
    1. DB Refresh - checkin-checkout-db-restore.sql 
    2. DB Update - circ-data-load_item-level-requests.sh

Additional Screenshots of graphs or charts