PTF - Pick slip limit performance testing
Overview
This document contains performance testing results for the 2,500 pick slip per request limit.
Defined SLAs:
Performance: Response times for the Print Pick Slip API are expected to remain within a range of seconds.
Functionality: The API must correctly enforce the configured 2,500 pick slip limit per request.
Reliability: 0% error rate during the full test duration.
Resource Stability: No memory leaks; Memory utilization should decrease after test completion.
Summary
The Print Pick Slip API was tested with 10 concurrent users over a 30-minute duration.
Both test runs completed successfully with no errors.
The API correctly enforces the configured limit and returns 2,500 slips as expected.
Test 1 processed 14,132 requests with an average response time of 1.3 sec; Test 2 processed 11,894 requests with an average response time of 1.5 sec.
mod-circulation Service Memory utilization peaked at ~50% (approximately 1300–1440 MB) during the tests and gradually decreased after test completion with no memory leaks observed.
Service Level Agreement (SLA) Compliance
Criteria | Status |
|---|---|
Response Time | ✅ Met |
Pick Slip Limit Enforcement | ✅ Met |
Error Rate | ✅ Met |
Memory Stability (No Leaks) | ✅ Met |
Test Runs
Test | Test description | Status |
Test 1-2 | Invoke the Print Pick Slip API with 10 concurrent users continuously for 30 minutes | Completed |
Results
This table contains Response Times:
| Test 1 | Test 2 | ||||
API call | Samples | Average | pct90 | Samples | Average | pct90 |
GET_circulation/pick-slips/{servicePointId} | 14132 | 1,3 sec | 1,6 sec | 11894 | 1,5 sec | 1,8 sec |
The API correctly enforces the 2,500 pick slip limit and returns the expected result:
Resources Utilization
Service Memory Utilization
mod-circulation memory usage was ~25% before test (slightly lower in Test 2) and averaged ~50% during both tests.
Test 1
Test 2
Service CPU Utilization
mod-circulation is the dominant consumer ~1,686–1,747% across both tests (percentage corresponds to the 64 CPU units allocated to the service).
Test 1
Test 2
DB CPU Utilization
DB CPU utilization remained stable at ~42–50% across both tests. In Test 1, a background job (delete_old_marc_indexers_versions) introduced additional load (up to 65%) toward the end but did not affect response times.
Test 1
Test 2
DB load
Test 1
Test 2
Appendix
Infrastructure
PTF -environment SELCTLS2 (tenant - cs00000int_0004, servicePointId - a51ec277-5a45-471b-9306-3c88afc003d9)
8 r7i.2xlarge EC2 instances located in US East (N. Virginia)us-east-1
db.r7g.xlarge database instance, writer
MSK - ptf-loc-1
6 kafka.m7g.xlarge brokers in 2 zones (3 per zone)
Apache Kafka version 3.9.x
EBS storage volume per broker 300 GiB
auto.create.topics.enable=true
log.retention.minutes=480
default.replication.factor=2
Open Search ptf-loc:
Data node - r7g.2xlarge.search (4)
Master node - m7g.large.search (3)