Check-in-check-out Test Report (Trillium) [ECS]

Check-in-check-out Test Report (Trillium) [ECS]

 

Overview

  • Regression testing of Check-In/Check-Out (CI/CO) tests in Trillium ECS release.

  • Test on central tenant won’t happen as on ptf environment we have restored DB from Bugfest and central consortia tenant doesn’t have items. We’ll proceed testing on member tenants

  • The purposes of CI/CO testing:

    • To test how different load from CI/CO flow affect the system

    • To define response times of Check-In and Check-Out

    • To define the response times for requests that take longer than 100 milliseconds

    • To find any trends for resource utilization and recommend improvements

    • To check how system behaves over extended period during longevity test.

    • Compare results (current and previous)

    • The current ticket: https://folio-org.atlassian.net/browse/PERF-1372 , https://folio-org.atlassian.net/browse/PERF-1430

    • The previous results report: Check-in-check-out Test Report (Sunflower) [ECS] CSP1&CSP2

Summary

  • Common results:

    • Check-in and check-out flows in Trillium showed improvement compared to Sunflower. Check-out improved by 15–31% for lower user loads and ~22% at 75 vUsers. Check-in improved by 12–34% for 8–30 vUsers but degraded by ~14.5% at 75 vUsers.

  • Tests #1, #2, #3, #4

    • Response times in average:

      • Check-in — minimum 314 ms with 20 vUsers and maximum 970 ms with 75 vUsers.

      • Check-out — minimum 894 ms with 20 vUsers and maximum 2211 ms with 75 vUsers.

  • Longevity test

Resources

  • CPU utilization

    • CPU utilization depends on number of concurrent virtual users and increases accordingly.

    • Top used modules: mod-circulation-b, mod-circulation-storage-b, mod-users-b, kong-b, mod-rtac-cache-b, mod-remote-storage-b, mod-feesfines-b, mod-inventory-storage-b.

    • CPU utilization for 30 vUsers: mod-circulation-188, mod-circulation-storage-107, mod-rtac-cache-96, mod-users-85, kong-82, mod-remote-storage-49, mod-feesfines-42, mod-inventory-storage-41

  • Memory consumption

    • Memory consumption was stable during tests. The highest usage for top consumer Mgr-applications-b was at 63%.

  • RDS CPU utilization average

    • 8 vUsers — 12%, 20 vUsers — 18%, 30 vUsers — 27%, 75 vUsers — 57%. Significantly lower than Sunflower (which reached 99% at 75 vUsers).

  • CPU (User) usage by broker

    • 8 vUsers - 11%, 20 vUsers - 12%, 30 vUsers - 13%, 75 vUsers - 16%.

 

Test Runs 

The following table contains tests configuration information

Test #

vUsers

Ramp-up, sec

Duration, sec 

1

8

80

2700

2

20

200

2700

3

30

300

2700

4

75

750

2700

5

30

300

43200

Results

Response time

The table contains results of Check-in, Check-out tests in Trillium release. 

Test #1, #2, #3, #4

image-20260622-095116.png

 

image-20260622-095146.png

 

image-20260622-095239.png

 

 

image-20260622-095259.png

 

 

 

8 vUsers  (test #1)

20 vUsers  (test #2)

30 vUsers  (test #3)

75 vUsers  (test #4)

Requests

Response Times (ms)

Response Times (ms)

Response Times (ms)

Response Times (ms)

Label

#Samples

95th pct

Average

#Samples

96th pct

Average

#Samples

97th pct

Average

#Samples

98th pct

Average

Check-Out Controller

2418

1747

948

6426

1733

894

9700

2206

923

23911

1046

2211

Check-In Controller

1876

672

404

4868

647

314

7296

974

318

17947

349

970

POST_circulation/check-out-by-barcode (Submit_barcode_checkout)

2417

380

243

6424

441

230

9697

650

234

23908

271

862

POST_circulation/check-in-by-barcode (Submit_barcode_checkin)

1876

319

205

4864

249

124

7294

373

127

17944

145

460

GET_circulation/loans (Submit_patron_barcode)

2419

324

137

6424

283

129

9696

528

135

23910

158

504

GET_circulation/loans (Submit_barcode_checkout)

2417

196

134

6424

271

129

9696

259

131

23906

154

404

GET_inventory/items (Submit_barcode_checkout)

2417

79

46

6424

83

43

9696

149

46

23907

54

190

 

Longevity test:

 30 vUsers Longevity test (test #5)

 30 vUsers Longevity test (test #5)

Requests

 

Samples, Response Times (ms)

Label

#Samples

95th pct

Average

Check-Out Controller

158792

1446

906

Check-In Controller

120139

530

286

POST_circulation/check-out-by-barcode (Submit_barcode_checkout)

158792

315

225

POST_circulation/check-in-by-barcode (Submit_barcode_checkin)

120139

176

108

GET_circulation/loans (Submit_patron_barcode)

158796

118

170

GET_circulation/loans (Submit_barcode_checkout)

158792

118

168

GET_inventory/items (Submit_barcode_checkout)

158792

37

64

Comparisons

This table has comparison between average values of response times of Trillium and Sunflower releases

 

8 vUsers   (test #1)

20 vUsers   (test #2)

30 vUsers   (test #3)

75 vUsers   (test #4)

Requests

Response Times, milliseconds

 

Sunflower

Trillium

 

 

Sunflower

Trillium

 

 

Sunflower

Trillium

 

 

Sunflower

Trillium

 

 

Label

Average

Delta,ms

Difference,%

Average

Delta,ms

Difference,%

Average

Delta,ms

Difference,%

Average

Delta,ms

Difference,%

Check-Out Controller

1122

948

-174

-15.51%

1201

894

-307

-25.56%

1347

923

-424

-31.48%

2825

2211

-614

-21.73%

Check-In Controller

459

404

-55

-11.98%

445

314

-131

-29.44%

484

318

-166

-34.30%

847

970

123

14.52%

 

API requests where response times >= 100 milliseconds

API

75 vUsers  Trillium
Average, ms

API

75 vUsers  Trillium
Average, ms

POST_circulation/check-out-by-barcode (Submit_barcode_checkout)

862

POST_circulation/check-in-by-barcode (Submit_barcode_checkin)

460

GET_circulation/loans (Submit_patron_barcode)

504

GET_circulation/loans (Submit_barcode_checkout)

404

GET_inventory/items (Submit_barcode_checkout)

190

 

Longevity test comparison:

Transaction

Sunflower (ms)

Trillium (ms)

Transaction

Sunflower (ms)

Trillium (ms)