Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info
titleWIP

Work in progress...

Overview

In this workflow, we are checking the performance of POST /loan-storage/loans API for creating loans in bulk in the Honeysuckle release

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyPERF-148
IC's normally create loans in bulk using mod-circulation business logic which is slow. This is an investigation if the same can be done using the mod-circulation-storage module bypassing business logic.

...

  • 7.2 million UChi SRS records
  • 7.2 million inventory records
  • 63 FOLIO back-end modules deployed in 110 ECS services
  • 3 okapi ECS services
  • 10 m5.large  EC2 instances
  • writer db.r5.xlarge 1 reader db.r5.xlarge AWS RDS instance
  • INFO logging level

High-Level Summary

  1. For 1 user, in 30 minutes, we can create 71,099 loans in bulk by making a request directly to storage API POST /loan-storage/loans. Therefore, we can create 142,198 loans in 1 hour.
  2. On average it takes 25 milliseconds to create 1 loan

Test Runs

1 user can create 71099 loans in 30 minutes by making a request to POST /loan-storage/loans

...

SQL queryResponse time (Avg) 
INSERT INTO fs09000000_mod_circulation_storage.loan (id, jsonb) VALUES ($1, $2) RETURNING jsonb1 millisecond


CPU Utilization

CPU utilization increases significantly for okapi but for other modules, it is relatively normal.


Service Memory Utilization

Memory is stable for all modules involved. Okapi is relatively higher but stable at 90%

...