Check-in by users with 10 TLR each (Nolana) - deprecated

Check-in by users with 10 TLR each (Nolana) - deprecated

This page is deprecated, please see the actual report here: [Nolana] Check-IN + title-level requests

Overview

Test goal is to assess performance of circulation check-in functionality for users with 10 TLR (title-level requests) each.

Ticket: https://folio-org.atlassian.net/browse/PERF-350

 

Summary

Load tests showed that there is no significant difference in performance of users with TLRs and without it.

Test Runs 

Test #

Test Conditions

Duration 

Load generator size (recommended)

Load generator Memory(GiB) (recommended)

Notes

 

Test #

Test Conditions

Duration 

Load generator size (recommended)

Load generator Memory(GiB) (recommended)

Notes

 

1.

Checkin with 1, 8, 20 users

30 min

t3.medium

3

ncp3 environment

 

Results

Response Times

Baseline (users without TLR)

 

Verification (users with 10 TLRs)

Response time comparison

 

Users quantity

Response time 95prc, sec

 

Degradation, sec

 

Degradation, %

Baseline

(users without TLR)

Verification

(users with 10 TLR each)

1 user

0.838

0.742

-0.096

-11%

8 users

0.538

0.555

0.017

3%

20 users

0.495

0.531

0.036

7%

Instance CPU Utilization

Baseline (users without TLR)

 

Verification (users with 10 TLRs)

 

Service CPU Utilization

Baseline (users without TLR)

 

Verification (users with 10 TLRs)

Memory Utilization

Baseline (users without TLR)

 

Verification (users with 10 TLRs)

RDS CPU Utilization

Baseline (users without TLR)

There are several spikes during test with 1 user load. This can be caused by background jobs, as such behaviour wasn't reproduced during other tests.

 

Verification (users with 10 TLRs)

RDS DB connections

Baseline (users without TLR)

 

Verification (users with 10 TLRs)

 

Database Load

Baseline (users without TLR)

 

Verification (users with 10 TLRs)

Appendix

Infrastructure

PTF -environment ncp3

  • 10 m6i.2xlarge EC2 instances located in US East (N. Virginia)us-east-1

  • 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

Modules

Version

Task Definition

Running Tasks 

CPU

Memory (Soft/Hard limits)

MaxMetaspaceSize

Xmx

okapi

4.14.7

1

3

1024

1440/1684

512

922

mod-feesfines

18.1.1

3

2

128

896/1024

128

768

mod-patron-blocks

1.7.1

4

2

1024

896/1024

128

768

mod-pubsub

2.7.0

4

2

1024

1440/1536

512

922

mod-authtoken

2.12.0

3

2

512

1152/1440

128

922

mod-circulation-storage

15.0.2

3

2

1024

1440/1536

512

896

mod-circulation

23.3.2

3

2

1024

896/1024

128

768

mod-configuration

5.9.0

3

2

128

896/1024

128

768

mod-users

19.0.0

4

2

128

896/1024

128

768

mod-remote-storage

1.7.1

3

2

128

1692/1872

512

1178

 

Methodology/Approach

  1. Conduct necessary commands to return the database to the initial state. Do this before each test run. Wait several minutes before the test start.

  2. Conduct check-in load tests with different number of users.

  3. Repeat tests with the same approach but before each test also generate 10 TLR for each user by running JMeter script (Create_TLR.jmx).

  4. Compare test results.

Grafana dashboard

Baseline (users without TLR): http://carrier-io.int.folio.ebsco.com/grafana/d/elIt9zCnz/jmeter-performance-test-copy?orgId=1&var-percentile=95&var-test_type=baseline&var-test=circulation_checkIn_nolana2&var-env=int&var-grouping=1s&var-low_limit=250&var-high_limit=750&var-db_name=jmeter&var-sampler_type=All&from=1675246584127&to=1675253996913

Verification (users with 10 TLRs): http://carrier-io.int.folio.ebsco.com/grafana/d/elIt9zCnz/jmeter-performance-test-copy?orgId=1&var-percentile=95&var-test_type=baseline&var-test=circulation_checkIn_nolana2&var-env=int&var-grouping=1s&var-low_limit=250&var-high_limit=750&var-db_name=jmeter&var-sampler_type=All&from=1675322822809&to=1675332023447

Please note that dashboards will expire in 6 weeks since test run.