Monitoring Pick Slip - NLA report

Overview

Tests were conducted in scope of PERF-600 - Getting issue details... STATUS  task to assess performance of the Monitoring Pick Slip functionality (MPS scenarios in JMeter script) and get the baseline numbers for future testing.

Summary

  • There is response time degradation in comparison with tests for all the workflows running at the same time. Deagradation was observed for requests /circulation/pick-slips/, /service-points  and /locations. Details can be found at the Test results part.
  • There is response time improvement for request /circulation/requests (19-30%) in comparison with tests for all the workflows running at the same time. Details can be found at the Test results part.
  • During load test no increase in CPU utilization was observed.
  • Service memory utilization was stable, and no memory leaks were suspected during tests.

Test Runs 

Test #

# configuration

LoadTest durationComment
1MPS scenarios

/circulation/pick-slips/<servicepointId> : 20 per minute

/circulation/requests : 1 per minute

/service-points : 1 per hour

/locations : 1 per hour

1 hourTests were conducted 3 times each, no differences in results were observed

Test Results

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



Request name

Response time normal loadResponse time high load
Individual workflowAll the workflows*All the workflows + DI + FY*All the workflows*All the workflows + FY*
AVG (sec)95 PCTL (sec)AVG (sec)95 PCTL (sec)AVG (sec)95 PCTL (sec)AVG (sec)95 PCTL (sec)AVG (sec)95 PCTL (sec)
MPS_Monitoring Pick Slips and Requests GET /circulation/requests0.4780.7050.3590.480 (-31%)0.4340.527 (-25%)0.3650.544 (-22%)0.4430.571 (-19%)
MPS_Monitoring Pick Slips and Requests GET /circulation/pick-slips/0.0600.1130.1120.256 (+126%)0.1060.312 (+178%)0.1300.303 (+168%)0.1120.376 (+232%)
MPS_Monitoring /service-points and  /locations (1 request per test)0.1360.1360.3030.303 (+122%)0.2970.297 (+118%)0.1120.112 (-17%)0.2330.233 (+71%)

*previous test results can be found here: Master Script normal load test - NLA report and Master Script high load test - NLA report (without Data Import)

Instance CPU Utilization

Instance CPU Utilization did not exceed 7,5%.


Service CPU Utilization

During load test no increase in CPU utilization was observed.

Service Memory Utilization

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

DB CPU Utilization

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

DB Connections

Connections count didn't change during the test.


Appendix

Infrastructure

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 assess performance of the Collection Service functionality and get the baseline numbers the JMeter script was used (RIH scenario).

Additional Screenshots of graphs or charts

Previous test results:

Master Script normal load test - NLA report

Master Script high load test - NLA report (without Data Import)

Grafana dashboard:

http://carrier-io.int.folio.ebsco.com/grafana/d/elIt9zCnz/jmeter-performance-with-average-latency?orgId=1&var-percentile=95&var-test_type=baseline&var-test=master-script-longevity&var-env=int&var-grouping=1s&var-low_limit=250&var-high_limit=750&var-db_name=jmeter&var-sampler_type=All&var-Request=All&from=1686304508972&to=1686308301715