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

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

 

 

Overview

Regression testing of Check-In/Check-Out (CI/CO) fixed load tests on okapi based environment in Ramsons 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: PERF-1125 - [Sunflower] [ECS] CI/CO

    • The previous results report: [ECS] Check-in-check-out Test Report (Ramsons)

Summary

  • Common results:

    • Check-in and check-out flows degraded as the number of users increased. However, check-in in Sunflower performed slightly better than Ramsons in general, while check-out consistently showed worse results. Compared to Ramsons, resource utilization is higher in Sunflower.

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

    • Response times in average: 

      • Check-in - minimum 445 ms with 20 vUsers and maximum 847 ms with 75 vUsers.

      • Check-out - minimum 1122 ms with 8 vUsers and maximum 2825 ms with 75 vUsers. 

  • Test #5

    • Response times in average: 

      • Check-in - 517 ms with 30 vUsers 

      • Check-out - 1699 ms with 30 vUsers.

Resources

  • CPU utilization

    • CPU utilization depends on number of concurrent virtual users and increasing accordingly. Top used modules: mod-users-keycloak, mod-pubsub, mod-inn-reach-b, mod-inventory-storage, mod-circulation, mod-users,

    • Nearly during all tests mod-users-keycloak consumed most CPU.

  • Memory consumption

    • Memory consumption of mod-pubsub module grow when test users increased.

    • Mod-dcb and mgr-applications were highest at 80%.

    • Top 5 modules, consumption at % in 75 vUsers test: mgr-application - 82%, mod-dcb-b - 74%, mod-keycloak-b - 69%, mod-scheduler-b - 69%, mod-finance-b - 68%

  • RDS CPU utilization average

    • 8 vUsers - 25%, 20 vUsers - 54%, 30 vUsers - 73%, 75 vUsers - 99% During longevity test CPU was 80%.

  • CPU (User) usage by broker

    • 8 vUsers - 40%, 20 vUsers - 42%, 30 vUsers - 43%, 75 vUsers - 28%. During Longevity test - 3 brokers - above 30%, other broker - 26%. 

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

86400

Results

Response time

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

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

image-20250527-121542.png
image-20250527-121650.png

 

image-20250527-121726.png

 

image-20250527-123617.png

 

 

8 vUsers  (test #1)

20 vUsers  (test #2)

30 vUsers  (test #3)

75 vUsers  (test #4)

 

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

95th pct

Average

#Samples

95th pct

Average

#Samples

95th pct

Average

Check-Out Controller

2461

1360

1122

6142

1657

1201

8951

1993

1347

18085

3733

2825

Check-In Controller

1898

651

459

4711

718

445

6845

824

484

13572

1324

847

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

2462

453

345

6144

556

368

8955

677

420

18094

1164

1072

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

1899

387

253

4713

439

229

6848

503

246

13574

857

441

GET_circulation/loans (Submit_patron_barcode)

2463

 

222

 

140

6144

32

19

8962

298

173

36192

 

365

180

GET_circulation/loans (Submit_barcode_checkout)

2462

 

204

 

143

 

6144

34

19

8955

314

190

18088

579

372

GET_inventory/items (Submit_barcode_checkout)

2462

58

39

6144

83

42

8957

99

49

18094

135

81

Test #5

image-20250528-115732.png

 

 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

286164

2564

1699

Check-In Controller

216465

795

517

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

286171

945

534

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

216465

439

253

GET_circulation/loans (Submit_patron_barcode)

286182

394

222

GET_circulation/loans (Submit_barcode_checkout)

286169

404

240

GET_inventory/items (Submit_barcode_checkout)

286172

122

64

Comparisons

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

 

8 vUsers   (test #1)

20 vUsers   (test #2)

30 vUsers   (test #3)

75 vUsers   (test #4)

 

8 vUsers   (test #1)

20 vUsers   (test #2)

30 vUsers   (test #3)

75 vUsers   (test #4)

Requests

Response Times, milliseconds

 

Ramson

Sunflower

 

 

Ramsons

Sunflower

 

 

Ramsons

Sunflower

 

 

Ramsons

Sunflower

 

 

Label

Average

Delta,ms

Difference,%

Average

Delta,ms

Difference,%

Average

Delta,ms

Difference,%

Average

Delta,ms

Difference,%

Check-Out Controller

1153

1122

31

-2.6%

1123

1201

78

6.94%

1120

1347

227

20.26%

1483

2825

1342

90.49%

Check-In Controller

590

459

131

-22.20%

559

445

114

-20.39%

556

484

72

-12.94%

659

847

188

28.57%

Comparison of longevity test

30 vUsers Longevity  (test #5)

30 vUsers Longevity  (test #5)

Response Times, milliseconds

 

 

Ramsons

Sunflower

 

 

Average

Average

Delta,ms

Difference,%

1095

1699

604

55.15%

493

517

24

4.86%

 

API requests where response times >= 100 milliseconds

API

75 vUsers  Ramsons

Average, ms

API

75 vUsers  Ramsons

Average, ms

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

1072

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

441

GET_circulation/loans (Submit_patron_barcode)

372

GET_circulation/loans (Submit_barcode_checkout)

372

GET_automated-patron-blocks (Submit_patron_barcode)

180

Cluster Resources Utilization

CPU Utilization

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

CPU

8 vUsers

CPU

20 vUsers

CPU

30 vUsers

CPU

75 vUsers

CPU

30 vUsers Longevity

CPU

8 vUsers

CPU

20 vUsers

CPU

30 vUsers

CPU

75 vUsers

CPU

30 vUsers Longevity

mod-pubsub-b

20

mod-users-keycloak-b

30.1

mod-users-keycloak-b

41.35

mod-users-keycloak-b

70.89

mod-roles-keyclaok-b

38.29

mod-inn-reach-b

16.2

mod-users-b

29.64

mod-roles-keycloak-b

38.5

mod-roles-keycloak-b

66.76

mod-users-keyclaok-b

37.21

mod-users-keycloak-b

15

mod-roles-keycloak-b

28.41

mod-users-b

37.52

mod-users-b

62.82

mod-users-b

33.82

mod-audit-b

14.99

mod-feesfines-b

25.42

mod-feesfines-b

31.76

mod-feesfines-b

56.18

mod-feesfines-b

29.29

mod-roles-keycloak-b

14.59

mod-pubsub-b

22.14

mod-remote-storage-b

26.79

mod-remote-storage-b

43.53

mod-remote-storage-b

26.29

mod-remote-storage-b

14.19

mod-audit-b

21

mod-pubsub-b

23.92

mod-inventory-storage-b

43.15

mod-inventory-storage-b

23.76

mod-users-b

14

mod-remote-storage-b

20.33

mod-inventory-storage-b

23.08

mod-configuration-b

35.06

mod-pubsub-b

21.94

mod-feesfines-b

12.11

mod-inventory-storage-b

18.57

mod-configuration-b

20.81

mod-circulation-b

30.39

mod-configuration-b

17.83

mod-inventory-storage-b

10.72

mod-configuration-b

16.47

mod-audit-b

18.60

mod-pubsub-b

29.27

mod-audit-b

17.75

mod-configuration-b

9

mod-inn-reach-b

16.44

mod-circulation-b

17.45

mod-audit-b

25.68

mod-circulation-b

16.57

mod-quick-mark-b