Table of Contents |
---|
This page is deprecated, please see the actual report here: [Nolana] Check-IN + title-level requests
Overview
Test goal is to assess performance of circulationcheck-in functionality for users with 10 TLR (title-level requests) each.
Ticket: Jira Legacy server FOLIO Issue TrackerSystem JIRA serverId 6ccf3fe401505d01-3301b853-368a3c2e-983e90f1-20c466b11a49ee9b165564fc key 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 |
---|---|---|---|---|---|
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)
...
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 | 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
- Conduct necessary commands to return the database to the initial state. Do this before each test run. Wait several minutes before the test start.
- Conduct check-in load tests with different number of users.
- Repeat tests with the same approach but before each test also generate 10 TLR for each user by running JMeter script (Create_TLR.jmx).
- Compare test results.
Grafana dashboard
...