Request search by open status test report


PERF-131 - Getting issue details... STATUS PERF-131 - Getting issue details... STATUS PERF-131 - Getting issue details... STATUS PERF-131 - Getting issue details... STATUS PERF-131 - Getting issue details... STATUS PERF-131 - Getting issue details... STATUS PERF-131 - Getting issue details... STATUS










PERF-131 - Getting issue details... STATUS PERF-131 - Getting issue details... STATUS



PERF-131 - Getting issue details... STATUS PERF-131 - Getting issue details... STATUS

PERF-131 - Getting issue details... STATUS



Overview

The purpose of this test is to define baselines of request search flow to be able compare test metrics in the future


Version

  • okapi:4.2.2
  • mod-inventory-storage:19.5.0-SNAPSHOT.460
  • mod-circulation:19.2.2"
  • mod-users:17.2.1"
  • mod-circulation-storage:12.1.0


Tests

Test #

Virtual Users

Duration (sec)

151800
281800
3101800
420

1800


Test Summary

All tests shows stable work, and pass whit 0% of errors. However high CPU utilisation from RDS side may cause an issues with bigger loads in future. 

The more load causes more CPU usage on database and it leads to higher average response times.

There is two query types that causes most of CPU usage, it's count.estimate and select jsonb,id from circulation_storage.requests.


Results

Test 1


RequestsTotalOKResponse times (seconds)
Min50th pct75th pct95th pct99th pctMax
GET_addresstypes414141410.0130.0320.0400.0720.1060.418
GET_cancellation-reason-storage/cancellation-reasons414141410.0140.0310.0380.0590.0930.762
GET_circulation/pick-slips/servicePointId414141410.0280.0890.1050.1590.2460.489
GET_circulation/requests16560165600.0790.2560.5340.8761.0392.054
GET_circulation/requests-reports/hold-shelf-clearance/servicePointId828282820.0260.0660.0800.1220.1850.800
GET_groups414141410.0130.0310.0390.0680.1040.778
GET_service-points414141410.0150.0310.0380.0610.1060.373
GET_staff-slips-storage/staff-slips414141410.0140.0310.0380.0620.1140.766
GET_tags414141410.0140.0310.0380.0600.0980.375
POST_authn/login110.4450.4450.4450.4450.4450.445
Search request by open status transaction workflow413741371.2941.8932.0172.4172.8253.898


Brief overview of resource usage below:


Service CPU usage:

As you can see, there's only one module that uses around 250% CPU usage - it's okapi.


Service Memory usage:

There's no visible memory usage for all relevant modules.


RDS CPU usage:





As you can see above, CPU usage on 50% rate was made by count estimate queries that takes 1.14 seconds in average.


Test 2


RequestsTotalOKResponse times (seconds)
Min50th pct75th pct95th pct99th pctMax
GET_addresstypes504850480.0120.0360.0550.1170.1920.603
GET_cancellation-reason-storage/cancellation-reasons504850480.0130.0340.0470.1080.2010.610
GET_circulation/pick-slips/servicePointId504750470.0270.1040.1400.2720.4181.581
GET_circulation/requests20172201720.0780.4770.8121.1611.4803.079
GET_circulation/requests-reports/hold-shelf-clearance/servicePointId10096100960.0250.0760.1040.2060.3301.456
GET_groups504850480.0120.0340.0490.1100.1930.706
GET_service-points504850480.0140.0350.0460.1040.1911.211
GET_staff-slips-storage/staff-slips504850480.0130.0340.0470.1060.1870.703
GET_tags504650460.0140.0340.0460.1010.1870.790
POST_authn/login110.3310.3310.3310.3310.3310.331
Search request by open status transaction workflow504050401.7832.5352.9384.0614.7326.336



Service CPU usage:

Most used modules: 

  • OKAPI - 415%;
  • Mod-Inventory storage - 73%-75%;
  • Mod-users - 60-70
  • Mod-circulation - 60-70
  • Mod circulation storage - 40;


Services memory usage ;




RDS CPU usage






there is high CPU utilisation from DB side during test. Perhaps select  mentioned on screen above may be optimised to reduce this. because this select taking most of CPU time.  

RDS wait is 1.85 seconds in average;



Test 3

RequestsTotalOKResponse times (seconds)
Min50th pct75th pct95th pct99th pctMax
GET_addresstypes547754770.0140.0380.0580.1430.2140.459
GET_cancellation-reason-storage/cancellation-reasons547754770.0140.0370.0500.1180.2190.990
GET_circulation/pick-slips/servicePointId547654760.0310.1100.1410.2600.4271.325
GET_circulation/requests21899218990.0820.5300.8961.2341.588601.342
GET_circulation/requests-reports/hold-shelf-clearance/servicePointId10954109540.0280.0780.1020.2070.3301.048
GET_groups547754770.0120.0370.0510.1330.2080.602
GET_service-points547754770.0140.0370.0480.1030.1890.454
GET_staff-slips-storage/staff-slips547754770.0130.0360.0490.1130.2090.452
GET_tags547654760.0140.0360.0470.1070.2070.878
POST_authn/login110.3170.3170.3170.3170.3170.317
Search request by open status transaction workflow547354732.0162.7853.1314.2365.235603.154


Service CPU usage:


  • Okapi- 440 -450;
  • Users - 100-115
  • Mod inventory storage 101 - 110;
  • Circulation - 60-80;
  • Circulation storage 40-50




Memory usage:


There is still no visible memory impact on all relevant modules









RDS wait is 2.80 seconds wait;


Test 4

RequestsTotalOKResponse times (seconds)
Min50th pct75th pct95th pct99th pctMax
GET_addresstypes627962790.0150.0500.0920.2410.5051.479
GET_cancellation-reason-storage/cancellation-reasons627962790.0150.1590.3130.5180.6711.211
GET_circulation/pick-slips/servicePointId627862780.0300.1540.2270.6010.9653.259
GET_circulation/requests25090250890.1140.9951.6152.2893.2826.656
GET_circulation/requests-reports/hold-shelf-clearance/servicePointId12562125610.0340.0980.1510.4480.760600.003
GET_groups627962790.0150.0460.0800.2420.5061.219
GET_service-points627962790.0160.0450.0680.2190.4681.479
GET_staff-slips-storage/staff-slips627962790.0140.1230.2640.4980.6681.734
GET_tags627862780.0160.0460.0710.2130.4771.115
POST_authn/login110.3390.3390.3390.3390.3390.339
Search request by open status transaction workflow626762653.5215.2455.8898.54711.256600.081



Service CPU usage:


  • OKAPI - 400%-500%
  • Users 110%-130%
  • inventory storage - 95%-125%
  • circulation 75% -100%
  • Circulation storage 40%-50%


Service memory usage


There is no visible memory impact on all relevant modules