Check in items workflow Test Report (Fameflower)

Check in items workflow Test Report (Fameflower)

 

 

 

 

 

 

 

 

 

 

 

PERF-37: Check in itemsClosed

Overview

In this workflow we are checking the performance of the check in items workflow running in the Fameflower release PERF-37: Check in itemsClosed.  We tested it with 1, 5, 8, and 20 virtual users for 30 minutes.  

 

Backend:

  • mod-inventory-storage-19.1.2

  • mod-inventory-14.1.3

  • mod-circulation-18.0.9

  • mod-circulation-storage-11.0.8

  • okapi-2.38.0

  • mod-authtoken-2.4.0

  • mod-permissions-5.9.0

  • mod-data-export-1.1.1

  • mod-source-record-storage-3.1.4

  • mod-source-record-manager-2.1.4

Frontend:

  • folio_inventory-2.0.2

  • folio_circulation-2.0.0

  • Item Check-in (folio_checkin-2.0.1)

Environment:

  • 55 back-end modules deployed in 110 ECS services

  • 3 okapi ECS services

  • 8 m5.large  EC2 instances

  •  db.r5.xlarge AWS RDS instance

  • WARNING logging level

High Level Summary

  1. Overall check in time is 781 ms for a typical use case of 8 users, 1127.57 ms for 20 users

  2. Slow APIs taking more than 100ms to run:

    1. POST checkin-by-barcode

    2. GET inventory/items

  3. mod-circulation-storage log warnings for missing indexes. Adding the missing indexes could improve performance while stop logging these warning. See the Recommended Improvements for the JIRAs created to address these indexes. 

  4. JVM profiling shows JSON de/serialization operations one of the slowest operations, totaling more CPU time than other calls.  Since FOLIO modules retrieve and stores JSON objects, making sure that serializing and deserializing JSON efficient is essential, see Recommended Improvements

Test Runs

Test

Virtual Users

Duration

OKAPI log level

Profiled

Ramp up (total time

in seconds)

1. 

1

30 min

WARNING

No

1

2. 

5

30 min

WARNING

No

50

3. 

8

30 min

WARNING

No

80

4. 

20

30 min

WARNING

No

200

5. 

8

30 min

WARNING

Yes

80

 

Results

  1. Overall check in items workflow time in seconds

  2. Slow APIs taking more than 100 ms to return (Profiling OFF)

JVM Profiling

  • Overall slow methods (between the modules profiled: mod-circulation, mod-circulation-storage, mod-inventory, mod-inventory-storage)

 

Database