Check-in-check-out Test Report (Ramsons) [non-ECS] [Eureka]

Check-in-check-out Test Report (Ramsons) [non-ECS] [Eureka]



Test status: PASSED

Overview

  • Regression testing of Check-In/Check-Out (CI/CO) fixed load tests on eureka based environment in Ramsons non-ECS release.

  • Test was carried out on central tenant.

  • 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 (SSO Session Max limit in keycloak is 10 hours)

    • Compare results (current and previous)

    • The current ticket: 

      PERF-1065 - [Ramsons] [non-ECS] [Eureka] CI/CO

Summary

  • Common results:

    • The Ramsons release shows good performance up to 30 virtual users (vUsers) without notable performance degradation. The significant reduction in RTs across all tests observed compared to Quesnelia. The slight RT increase after 5 hours in the CO flow in longevity test should be investigated.

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

  •  

    • Average response times (RT) in tests with 8, 20, 30 vUsers were the same in average (delta - 80 ms.). Average RT in 20 vUsers test CI - 480 ms, CO - 862 ms.

    • Average RT in test with 75 vUsers response times grew +40% compared to 20 vUsers. Average RT in 75 vUsers test CI - 933 ms, CO - 1472 ms.

  • Test #5

  •  

    • Average RT in test #5 with 30 vUsers. CI - 442 ms, CO - 971 ms.. There's no expected degradation during 10 hours test in Average. But we can observe RT growing after 5 hours of test + 200 ms in CO flow.

    • No visible memory leaks found. Accumulating affect in longevity test sh

  • Comparison with Quesnelia results:

    • CI RT decreased 17% for 8 vUsers, 25% - 20 vUsers, 33% - 30 vUsers, 79% - 75 vUsers.

    • CO RT decreased 36% for 8 vUsers, 36% - 20 vUsers, 42% - 30 vUsers, 88% - 75 vUsers

    • Longevity test: CI RT decreased 66%, CO RT decreased 78%

Resources

  • CPU utilization

    • CPU utilization depends on number of concurrent virtual users and increasing accordingly. Top used modules (75 vUsers): mod-remote-storage - 102%, mod-feesfines - 55%, mod-roles-keycloak - 51%, mod-inventory-storage - 48%, mod-users - 45%

  • Memory consumption

    • Top module memory usage:  folio-keycloak - 83%,  mod-agreements - 73% in 75 vUsers test. Folio-keycloak  used 90% in longevity. 

  • RDS CPU utilization average

    • RDS CPU utilized in average: 8 vUsers - 15%, 20 vUsers - 23%, 30 vUsers - 30%, 75 vUsers - 66% During longevity test CPU was growing from 32% to 42%.

  • CPU (User) usage by broker

    • 8 vUsers - 15%, 20 vUsers - 16%, 30 vUsers - 17%, 75 vUsers - 22%. During Longevity test - 17%

Recommendations & Jiras

  • To avoid Internal server errors during testing on eureka environment new values were applied for mod-users-keycloak and mod-users-keycloak - Sidecar 1. 

Module

Mem Hard Limit

Mem Soft Limit

CPU Units

Xmx

Module

Mem Hard Limit

Mem Soft Limit

CPU Units

Xmx

mod-users-keycloak

1536

1480

256

1024

mod-users-keycloak - Sidecar 1

1280

768

256

512

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

36000

Results

Response time

The table contains results of Check-in, Check-out tests in Ramsons release (with modified mod-users-keycloak revision). 

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







This table has comparison between average values of response times of Ramsons and Quesnelia releases (default mod-users-keycloak values)



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

1853

1104

924

4554

952

862

6447

986

946

13891

1449

1472

Check-In Controller

1334

578

496

3321

480

467

4942

518

495

10449

1029

933

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

1854

477

402

4555

381

375

6449

396

398

13898

632

657

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

1336

293

260

3329

248

250

4951

265

269

10472

425

449

GET_circulation/loans (Submit_barcode_checkout)

1854

223

173

4554

183

162

6447

188

189

13893

279

304

GET_users (Get_check_in_page)



















10477

385

225

GET_inventory/items (Submit_barcode_checkout)



















13898

100

113

This table has comparison between average values of response times of Ramsons and Quesnelia releases (modified mod-users-keycloak values)



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

1772

1175

965

4509

987

860

6593

1006

873

14632

1177

1000

Check-In Controller

1380

765

608

3293

609

550

4908

613

524

11177

732

576

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

1773

523

433

4509

408

365

6597

419

370

14635

532

432

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

1383

463

364

3297

366

326

4917

368

297

11198

424

309

GET_circulation/loans (Submit_barcode_checkout)

1772

239

180

4509

201

169

6594

209

173

14635

246

195

Test #5