Workflow Tests with RMB-348 Implementation

Overview

RMB-348 implements directing read and write database calls to the read and write nodes of the database, respectively.  This is a report for a series of Check-in-check-out test and Data Import tests against the pre-Morning-glory release that has RMB-348 implemented in

  • mod-inventory-storage
  • mod-circulation-storage
  • mod-permissions
  • mod-users
  • mod-source-record-storage
  • mod-source-record-manager

Software Versions

Snapshot versions of modules on 06.08.2022

  • RMB v35.0.0-SNAPSHOT
  • mod-inventory-storage (MG-SNAPSHOT)
  • mod-circulation-storage (MG-SNAPSHOT)
  • mod-permissions (MG-SNAPSHOT)
  • mod-users (MG-SNAPSHOT)
  • mod-source-record-storage (MG-SNAPSHOT)
  • mod-source-record-manager  (MG-SNAPSHOT)

Summary

Limited testing of a few workflows exercising several modules that has the RMB-348 change shows promising signs that performance could improve and resource utilization could improve (if there are idle read-only DB instances deployed that are currently doing nothing). 

  • Check-in check-out (CICO) tests show that a healthy mix of DB activities were directed properly to the read nodes. Performance seemed to improve by at least 15%. No database or storage module memory leaks observed.
  • This RMB change currently does not have any positive impact on Data Import as the read-only DB node is not used much compared to the write node.  An action item is to examine the RMB calls that DI use (throughout its modules: mod-inventory-storage, mod-srs, mod-srm) to see if these calls are readonly and therefore should use one of the new methods created in RMB.
  • RTAC shows some sign of DB usage on the read node, but the majority of the traffics is still on the write node because a RMB stream method isn't converted to call the DB read instance.  There is a new call implemented in RMB that RTAC in mod-inventory-storage could call to take advantage of the read DB instance.
  • Further work is necessary to understand why the RMB changes upsets the failover that's managed by AWS.

Test Results

CHECK-IN/CHECK-OUT

Response Times of 30-minutes Tests


Average (seconds)50th %tile (seconds)75th %tile (seconds)95th %tile  (seconds)

Check-inCheck-outCheck-inCheck-outCheck-inCheck-outCheck-inCheck-out
1 user0.6140.9590.5890.9250.6391.0140.7971.178
5 users0.5120.8200.4990.7950.5370.8520.6190.979
8 users0.5020.7980.4870.7820.5290.8340.6060.939
20 users0.5090.7960.4920.7730.5360.8290.6330.939

Comparisons to Last Release (Lotus)

As you can see, all of the response times improves by 15%-25%.