Versions Compared

Key

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

Jira Legacy
serverSystem JiraJIRA
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-169

...

In this workflow, we are checking the performance of RMB 32 / Vert.x 4.0.0 with mod-configuration for the Honeysuckle release.

We tested it with 15, 2 8 virtual users for 30 minutes.  

Backend:

  • mod-users-17.1.0
  • mod-users-bl-6.0.0
  • mod-authtoken-2.5.1
  • mod-permissions-5.11.2
  • mod-configuration-5.5.0
  • mod-configuration-5.6.0
  • okapi-4.3.3

Environment:

  • 63 back-end modules deployed in 110 ECS services
  • 3 okapi ECS services
  • 8 m5.large  EC2 instances
  • 2 (1 reader, 1 writer) db.r5.xlarge AWS RDS instance
  • INFO logging level

High Level Summary

...

mod-configuration-5.6.0 with latest RMB 32 / Vert.x 4.0.0 performs better than older release.

GET by id is ~43% faster
POST is ~40% faster
DELETE is ~43% faster

Test Runs

Test

Virtual Users

Duration

OKAPI log level

Loans per User

1. 

1

5

30 min

WARNING

10, 50, 100, 200

2. 

2

8

30 min

WARNING

10, 50, 100, 200

3.130 minINFO200


mod-configuration-5.5.0 vs mod-configuration-5.6.0

Results

mod-configuration-5.5.0

API5 Users Average8 Users Average
GET_/configurations/entries/configId44 ms59 ms
POST_/configurations/entries47 ms63 ms
DELETE_/configurations/entries/configId46 ms61 ms



mod-configuration-5.6.0 - RMB 32 / Vert.x 4.0.0

API5 Users Average8 Users Average
GET_/configurations/entries/configId25 ms25 ms
POST_/configurations/entries28 ms28 ms
DELETE_/configurations/entries/configId26 ms26 ms
  1. Below is the dependency graph generated from Giraffe for single POST_/circulation/renew-by-barcode API. It shows individual calls made by renew-by-barcode to gather prerequisite data from different APIs such as item-storage, location-units, loan-types, request-storage, notice-policy, locations, and mod-authtoken. In all, this call took 990 ms, and 6% of that is consumed by mod-authtoken and the remaining 94% of the time is taken by other APIs to gather prerequisite data.

Image Removed


Database CPU Utilization

The database CPU usage increases gradually for 1, 2  users run. At maximum 9% CPU usage for 1 user.

Image Removed

For 2 users, max CPU utilization increases and then stabilizes as the number of loans increases. Therefore, CPU utilization is relatively on the lower side.

...

7%

...

8%

...

14%

...

15%

...

15%

...

15%

...

 For 1 run of 30 minutes test, following queries were made. To point out, total calls made and the total time spend on these queries is significant.

...

Service CPU Utilization

Service CPU utilization is relatively on a lower side for most modules except for mod-circulation. For service with the highest CPU utilization is shown by range to get a better picture.

...

3%

...

10%

...

3.25%

...

17.75%

...

70%-122.75%

...

11.75%

Service Memory Utilization

Service memory was stable for most modules except mod-circulation which was on the higher side. For service with the highest Memory utilization is shown by range to get a better picture.

...

63%

...

56%

...

65%

...

56%

...

113%-118%

...

49%

Graph for service memory utilization for mod-circulation. Memory usage started at ~113%, rose to ~118% and fall back to ~101%

Image Removed

...

  • The following JIRAs has been created for mod-authtoken optimization:

Jira Legacy
serverSystem Jira
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODAT-80

Jira Legacy
serverSystem Jira
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODAT-83

Appendix

See Attached user_loanRenewals-test-report.xlsx for details  CPU utilization is around 9%-10% for both releases. mod-configuration-5.6.0 consumes less CPU for 5 Users compared to mod-configuration-5.5.0

mod-configuration-5.5.0

Image Added


mod-configuration-5.6.0

Image Added


Service CPU Utilization

For both 5 and 8 users, mod-configuration-5.6.0 is faster than mod-configuration-5.5.0. mod-configuration-5.6.0 is around 57% faster.

mod-configuration-5.5.0

Image Added

mod-configuration-5.6.0

Image Added

Service Memory Utilization

mod-configuration-5.6.0 consumes a little less memory so more memory efficient.

mod-configuration-5.5.0

Image Added

mod-configuration-5.6.0

Image Added


Response times

mod-configuration-5.6.0 can process more requests and also has better Average RPS

mod-configuration-5.5.0 for 8 users

Image Added

mod-configuration-5.6.0 for 8 users

Image Added