PTF - Pick slip limit performance testing

PTF - Pick slip limit performance testing

Overview

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

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:

image-20260518-141859.png

 

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

image-20260518-120022.png

Test 2

image-20260518-120816.png

 

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

image-20260518-121220.png

Test 2 

image-20260518-121451.png

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

image-20260518-121805.png

Test 2

image-20260518-121846.png

 

DB load

Test 1

image-20260518-135302.png
image-20260519-073327.png

 

Test 2 

image-20260519-073648.png
image-20260519-073456.png

 

Appendix

Infrastructure

PTF -environment SELCTLS2 (tenant - cs00000int_0004, servicePointId - a51ec277-5a45-471b-9306-3c88afc003d9)

  • 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)

 

 

Module

Task Definition Revision

Module Version

Task Count

Mem Hard Limit

Mem Soft Limit

CPU Units

Xmx

Metaspace Size

Max Metaspace Size

mod-remote-storage

21

mod-remote-storage:3.4.3

2

4920

4472

64

3960

512

512

mod-remote-storage - Sidecar 1

N/A

folio-module-sidecar:3.0.19.tls

N/A

1024

512

64

256

0

96

mod-finance-storage

24

mod-finance-storage:8.8.8

2

1024

896

64

700

88

128

mod-finance-storage - Sidecar 1

N/A

folio-module-sidecar:3.0.19.tls

N/A

1024

512

64

256

0

96

mod-mosaic

11

mod-mosaic:1.0.0

2

1024

896

64

768

88

128

mod-mosaic - Sidecar 1

N/A

folio-module-sidecar:3.0.19.tls

N/A

1024

512

64

256

0

96

mod-ebsconet

10

mod-ebsconet:2.4.0

2

1248

1024

64

700

128

256

mod-ebsconet - Sidecar 1

N/A

folio-module-sidecar:3.0.19.tls

N/A

1024

512

64

256

0

96

edge-sip2

10

edge-sip2:3.4.3.tls

2

1024

896

64

768

88

128

mod-consortia-keycloak

17

mod-consortia-keycloak:1.7.3.tls

2

5136

4776

512

4416

384

512

mod-consortia-keycloak - Sidecar 1

N/A

folio-module-sidecar:3.0.19.tls

N/A

1024

512

64

256

0

96

mod-tags

15

mod-tags:2.4.1

2

1024

896

64

768

88

128

mod-tags - Sidecar 1

N/A

folio-module-sidecar:3.0.19.tls

N/A

1024

512

64

256

0

96

mod-notify

15

mod-notify:3.4.1

2

1024

896

64

768

88

128

mod-notify - Sidecar 1

N/A

folio-module-sidecar:3.0.19.tls

N/A

1024

512

64

256

0

96

mod-inventory-update

10

mod-inventory-update:4.1.0

2

1024

896

64

768

88

128

mod-inventory-update - Sidecar 1

N/A

folio-module-sidecar:3.0.19.tls

N/A

1024

512

64

256

0

96

mod-configuration

15

mod-configuration:5.12.1

2

1024

896

64

768

88

128

mod-configuration - Sidecar 1

N/A

folio-module-sidecar:3.0.19.tls

N/A

1024

512

64

256

0

96

edge-caiasoft

20

edge-caiasoft:2.4.1.tls

2

1024

896

64

768

88

128

folio-keycloak

16

folio-keycloak:26.5.2.tls

3

2750

2250

1536

1536

0

0

mod-gobi

10

mod-gobi:3.0.2

2

1024