PTF - Performance testing of Optimizing Eureka Deployment with average LOC load test

PTF - Performance testing of Optimizing Eureka Deployment with average LOC load test

Overview

  • In this report, PTF working with Olamide (FSE solution architect), investigated the CPU utilizations of modules by running load tests with LOC’s average load on the central and a member tenant. With this information, the PTF and Olamide set out to see how to most efficiently deploy FOLIO running on Eureka while balancing performance and costs.

Summary

During testing, many different combinations of environment settings were tried, such as CPU for modules and their sidecars, task pace strategy, and experiments were also conducted to reduce the number of EC2 instances in various ways. The report will present the results before tuning, and the results after tuning with the current combination of settings:

  • 8 EC2 Instances (The number of EC2 instances was reduced by decreasing the memory and memoryReservation parameters for sidecars. After these changes, no performance degradation was observed during testing.)

  • memory: 512 and memoryReservation: 256 for all sidecars

  • CPU 0 for all modules and sidecars except next ones:

  • CPU settings for keycloak modules:

CPU settings for keycloak modules: folio-keycloak-b 2048 mod-consortia-keycloak-b 512 mod-login-keycloak-b 128 mod-roles-keycloak-b 128 mod-users-keycloak-b 128
  • CPU settings for mod-inventory and mod-inventory-storage and sidecars for them 512

  • Task placement strategy: Spread by Availability Zone, and Spread by InstanceId

 

Test Runs

Test #

Description

Status

Test #

Description

Status

Test 1

On relc environment , average LOC load test was conducted for 30 minutes with defalt CPU settings and Export All disabled

Completed

Test 2

On relc environment , average LOC load test was conducted for 30 minutes with tuned settings and Export All enabled

Completed

Test 3

On relc environment , average LOC load test was conducted for 30 minutes with tuned settings and Export All disabled.

Completed

Test Results

Test №2

Service CPU Utilization

2025-09-08_11h34_23.png
2025-09-08_14h47_19.png

 

Test №3

Service CPU Utilization

2025-09-08_11h35_36.png
2025-09-08_14h14_30.png

 

Instance CPU Utilization for Test №2 + Test №3

2025-09-08_11h31_49.png

Comparison table for some tests

Transaction

Befor tuning (ms)

After tuning (ms)

Transaction

Befor tuning (ms)

After tuning (ms)

TC_AIE: Invoices Approve cs00000int

3004

2783

TC_CL Add info to Mediated request

2464

2207

TC_IRO: Delete Item cs00000int_0001

1815

1680

TC_IRO: Edit Item cs00000int_0002

2038

1767

TC_MAE: Open MARC Authority

201

176

TC_main_CICO: Scan item - Check In

742

700

TC_main_EI: Export 5000 Invoice cs00000int

54939

31699

TC_main_MSF: mod search by auth query cs00000int

4353

3795

TC_main_SC_TB: Transfer budget

192

178

Appendix

Infrastructure

PTF - eureka environment Ramsons (relc)

  • 8 r7g.2xlarge EC2 instances located in US East (N. Virginia)us-east-1

  • 1 database instance, writer

    NameMemory GIBvCPUs

    db.r7g.4xlarge

    32 GiB4 vCPUs

  • MSK fse-test

    • 4 m5.2xlarge brokers in 2 zones

    • Apache Kafka version 3.7.x

    • EBS storage volume per broker 300 GiB

    • auto.create.topics.enable=true

    • log.retention.minutes=480

    • default.replication.factor=2

Response Time Tables

Transaction

Average

Error Rate (%)

TC_AIE: Create Invoices Workflow cs00000int

3502

 

TC_AIE: Edit Invoices Workflow cs00000int

5153

 

TC_AIE: Invoices Approve cs00000int

3004

 

TC_AIE: Paying Invoices cs00000int

4025

 

TC_APO: Create Invoice Lines

848

 

TC_APO: Invoices Approve cs00000int

2071

 

TC_APO: Load invoice| Create |Add POLine 85| Workflow cs00000int

129169

 

TC_APO: Paying Invoices cs00000int

2843

 

TC_BE: HOLDINGS_RECORD_rollback In-app edit cs00000int_0001

207521

 

TC_BE: HOLDINGS_RECORD_rollback upload cs00000int_0001

75863

 

TC_BE: ITEM upload cs00000int_0001

281894

 

TC_BE: ITEM_rollback upload cs00000int_0001

161500

 

TC_BE: ITEM_rollback_ in-app edit cs00000int_0001

87115

 

TC_BE: USER upload cs00000int_0001

266809

 

TC_BE: USER_rollback in-app edit cs00000int_0001

41735

 

TC_BE: USER_rollback upload cs00000int_0001

151281

 

TC_BE_INSTANCE in-app edit

71900

 

TC_BE_INSTANCE upload

56547

 

TC_CICO: Check-In Controller cs00000int_0001

849

 

TC_CICO: Check-In Controller cs00000int_0002

950

 

TC_CICO: Check-In Controller cs00000int_0003

993

 

TC_CICO: Check-In Controller cs00000int_0004

1195

 

TC_CICO: Check-Out Controller cs00000int_0001

1388

 

TC_CICO: Check-Out Controller cs00000int_0002

1468

 

TC_CICO: Check-Out Controller cs00000int_0003

1861

 

TC_CICO: Check-Out Controller cs00000int_0004

1556

 

TC_CL Add info to Mediated request

2464

 

TC_CL Change Service point

173

 

TC_CL Click new Mediated request

78,2

 

TC_CL Confirm Item arrivel

745

33,3

TC_CL Do checkin on Member tenant

546

 

TC_CL Do checkin on Secure tenant

1015

 

TC_CL Do checkout on Secure tenant

2189

 

TC_CL Navigate to Member tenant

1183

 

TC_CL Navigate to Secure tenant

1263

 

TC_CL Navigate to checkin page on Secure tenant

197

 

TC_CL Navigate to checkout page on Secure tenant

72,8

 

TC_CL Open Checkin page

144

 

TC_CL Open Mediated requests page

67,9

 

TC_CL Send Item in tranzit

150

33,3

TC_EI: Search Invoice cs00000int

18081

 

TC_ETT: Edit Bib RecordTagTable Group cs00000int_0001

2727

12,7

TC_ETT: Edit Bib RecordTagTable Group cs00000int_0002

2847

 

TC_ETT: Edit Bib RecordTagTable Group cs00000int_0003

2956

9,26

TC_ETT: Edit Bib RecordTagTable Group cs00000int_0004

3021

 

TC_FFBA: Create Funds cs00000int

1203

 

TC_FFBA: Edit Funds cs00000int

2161

 

TC_FFBA: Finance_Fund_Budget_Decrease_Allocation_10000000000

1147

 

TC_FFBA: Finance_Fund_Budget_Increase_Allocation_10000000000

1152

 

TC_FFBA: Increase Decrease in allocation for Funds cs00000int

2299

 

TC_IRO: Delete Item cs00000int_0001

1815

 

TC_IRO: Delete Item cs00000int_0002

2007

 

TC_IRO: Delete Item cs00000int_0003

2187

 

TC_IRO: Delete Item cs00000int_0004

2352

 

TC_IRO: Edit Item cs00000int_0001

1749

 

TC_IRO: Edit Item cs00000int_0002

2038

 

TC_IRO: Edit Item cs00000int_0003

2060

 

TC_IRO: Edit Item cs00000int_0004

2019

 

TC_IRO: View Item cs00000int_0001

1545

 

TC_IRO: View Item cs00000int_0002

2685

 

TC_IRO: View Item cs00000int_0003

1623

 

TC_IRO: View Item cs00000int_0004

1651

 

TC_LO: Create Ledgers

808

 

TC_LO: Edit Ledgers

1100

 

TC_LO: Load Finance

58,2

 

TC_MAC: AUTHORITY create Controller

1000

 

TC_MAC: Go to Actions New MARC Authority

128

 

TC_MAC: Open MARC Authority

244

 

TC_MAE: AUTHORITY edit Controller

1599

 

TC_MAE: Actions Edit MARC authority record

337

 

TC_MAE: Open MARC Authority

201

 

TC_MAE: Open MARC Authority record

222

 

TC_MAE: Search authority record by naturalId

84,2

 

TC_POO: Search Order cs00000int

2089

 

TC_POO: View Order cs00000int

1224

 

TC_POO_SC: Click Veiw

649