Versions Compared

Key

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

Table of Contents
outlinetrue

...

  • RDS CPU utilization average
    • 8 vUsers - 13%, 20 vUsers - 22%, 30 vUsers - 30%, 75 vUsers - 63% During longevity test CPU grew from 30% to 45%. So it has growing trend during longevity test that can be explained by absent dcb-system-user in mod-dcb module.
  • CPU (User) usage by broker
    • Common CPU utilization by broker during all tests was 15% with equal distribution between brokers

Common notes

  • Longevity test revealed CPU Utilization growing trend for mod-dcb-b module.

...

Expand
titleSummary for tests with absent dcb-system-user

45 minute tests

  • Response times in tests with 8, 20, 30 virtual users didn't differ a lot but the lowest response times were with 8 virtual users. Average Check-In - 470 ms, average Check-Out - 838 ms
  • The highest response times results were with 75 virtual users. Average Check-In - 720 ms, Check-Out - 1301 ms
  • Additional test was carried out with changed configuration for mod-dcb-b (raised from 128 to 256). It helped to decrease CPU utilization for mod-dcb-b twice from 407% to 202% and nginx-okapi from 102% to 70% which helped to decrease response times more than 20% if to compare results with 128 CPU and 256 CPU. For this test average Check-In - 587 ms, Check-Out - 1055 ms. which is better than Poppy release - 5%.

Longevity test

  • Average Check-In - 454 ms, Check-Out - 1060 ms
  • No memory leaks during longevity test


Comparison with Poppy Results:

  • CI/CO response times increased by 4-7% for 20 and 30 vUsers tests.
  • For 75 vUsers test, the increase was 15%.
  • For 75 vUsers test CO response time was 1116 ms in Poppy and 1301 ms in Quesnelia

CPU utilization

  • 45 minute and longevity tests used CPU in correspondence with number of vUsers but there are some modules that spiked during 75 vUsers test -  mod-dcb-b - 407% with 128 CPU, mod-authtoken-b - 120%, nginx-okapi - 102%.
  • Additional test was carried out with changed configuration for mod-dcb-b (raised from 128 to 256). It helped to decrease CPU utilization for mod-dcb-b twice from 407% to 202% and nginx-okapi from 102% to 70% which helped to decrease response times more than 20% if to compare results with 128 CPU and 256 CPU.

Memory consumption

  • 45 minute and longevity tests didn't reveal some problems with memory usage by modules. So no memory leaks detected.

RDS CPU utilization

  • 8 vUsers - 13%, 20 vUsers - 22%, 30 vUsers - 30%, 75 vUsers - 50% During longevity test CPU grew from 30% to 45%. So it has growing trend during longevity test.

CPU (User) usage by broker

  • Common CPU utilization by broker during all tests was 15% with equal distribution between brokers

Common notes

  • Longevity test revealed CPU Utilization growing trend for mod-dcb-b module.

Recommendations

  • Investigate mod-dcb-b module behaviour. After 75 vUsers test modules require some time to stabilize CPU consumption.

...

Test #

vUsersRamp-up, sec

Duration, sec 

1

8802700
2202002700
3303002700
4757502700
53030086400

...

Results

Errors:

  • Error messages: POST_circulation/check-out-by-barcode (Submit_barcode_checkout)_POST_422. 422/Unprocessable Entity. Happen expectedly if instance was checked out already. Error rate - 0.06% which is acceptable.

Response time

The table contains results of Check-in, Check-out tests in Quesnelia release. 

...

This table has comparison between average values of response times of Quesnelia and Poppy releases


8 vUsers   20 vUsers   30 vUsers   75 vUsers   
RequestsResponse Times   Response Times   Response Times   Response Times   

PoppyQuesnelia

PoppyQuesnelia

PoppyQuesnelia

PoppyQuesnelia

LabelAverageDelta,msDifference,%AverageDelta,msDifference,%AverageDelta,msDifference,%AverageDelta,msDifference,%
Check-Out Controller832741-91-10.94%805729-76-9.44%807767-40-4.96%11161039-77-6.90%
Check-In Controller479408-71-14.82%450404-46-10.22%449427-22-4.90%622580-42-6.75%

...

Expand
titleResults for tests with absent dcb-system-user

Response time

The table contains results of Check-in, Check-out tests in Quesnelia release. 

45 minute tests


8 vUsers  20 vUsers  30 vUsers  75 vUsers  

Requests

Samples, Response Times

Samples, Response Times

Samples, Response Times Samples, Response Times

Label

#Samples

95th pct

Average

#Samples

95th pct

Average

#Samples

95th pct

Average

#Samples

95th pct

Average

Check-Out Controller17851007.7837.944576993842.6564961020870.21437918761301.92
Check-In Controller1437554470.23285550.7467.715045562480.62106071047720.2
POST_circulation/check-out-by-barcode (Submit_barcode_checkout)1785378290.324577334282.216499342288.0714383665426.66
POST_circulation/check-in-by-barcode (Submit_barcode_checkin)1439266207.483293237195.475056235200.1210629464295.4

Longevity test

 30 vUsers Longevity 


RequestsSamples, Response Times 

Label#Samples95th pctAverage
Check-Out Controller13559112471065
Check-In Controller101990525454
POST_circulation/check-out-by-barcode (Submit_barcode_checkout)135593410340
POST_circulation/check-in-by-barcode (Submit_barcode_checkin)101981228193

Comparisons

This table has comparison between average values of response times of Quesnelia and Poppy releases


8 vUsers   20 vUsers   30 vUsers   75 vUsers   
RequestsResponse Times 

Response Times 

Response Times 

Response Times 


PoppyQuesnelia

PoppyQuesnelia

PoppyQuesnelia

PoppyQuesnelia

LabelAverageDelta,msDifference,%AverageDelta,msDifference,%AverageDelta,msDifference,%AverageDelta,msDifference,%
Check-Out Controller832837.945.940.71%805842.6537.654.68%807870.263.27.83%11161301.92185.9216.66%
Check-In Controller479470.2-8.8-1.84%450467.7117.713.94%449480.6231.627.04%622720.298.215.79%


Comparison table for tests after mod-dcb-b CPU 128 as default raised to 256 (Task definition: revision: qcp1-mod-dcb:3). Additional test without mod-dcb-b (# of tasks = 0) 


75 vUsers mod-dcb-b CPU 12875 vUsers mod-dcb-b CPU 25675 vUsers mod-dcb-b - Tasks = 0
RequestsResponse Times 

Response Times 

Response Times 


PoppyQuesnelia

PoppyQuesnelia

PoppyQuesnelia

LabelAverageAverageDelta,msDifference,%AverageAverageDelta,msDifference,%AverageAverageDelta,msDifference,%
Check-Out Controller11161301.92185.9216.66%11161055-61-5.47%1116111710.09%
Check-In Controller622720.298.215.79%622587-35-5.63%62262971.13%


Comparison of Longevity test

30 vUsers Longevity  
Response Times 

PoppyQuesnelia

AverageAverageDelta,msDifference,%
10251065403.90%
471454-17-3.61%


API requests where response times >= 100 ms

API

30 vUsers  Poppy

Average, ms

30 vUsers  Quesnelia

Average, ms

POST checkout-by-barcode

281

288
POST checkin-by-barcode 

173

200
GET circulation/loans

135

158


...

45 minute tests

Longevity test

RDS Database Connections

For both 45 minute and longevity tests RDS used max 615-630 connections. Without test it was 550 connections.

45 minute tests

Longevity test

Image Modified

CPU (User) usage by broker

Common CPU utilization by broker during all tests was 15% with equal distribution between brokers

45 minute tests

Longevity test

Image Modified

Database load

...

Expand
titleResources Utilization

CPU Utilization

45 minute and longevity tests used CPU in correspondence with number of vUsers but there are some modules that spiked during 75 vUsers test -  mod-dcb-b - 407% with 128 CPU, mod-authtoken-b - 120%, nginx-okapi - 102%.
Additional test was carried out with changed configuration for mod-dcb-b (raised from 128 to 256). It helped to decrease CPU utilization for mod-dcb-b twice from 407% to 202% and nginx-okapi from 102% to 70% which helped to decrease response times more than 20% if to compare results with 128 CPU and 256 CPU.

45 minute tests

Expand
titleCPU utilization by modules


Service NameCPU 8 vUsersCPU 20 vUsersCPU 30 vUsersCPU 75 vUsers, 128CPU 30 vUsers LongevityCPU 75 vUsers, 256
mod-users-b29.3165.1189.61206.6396.57199.92
mod-dcb-b21.5346.2569.61407.79155.82201.69
okapi-b16.5238.8555.6690.656.7793
mod-inventory-b14.2818.1717.9715.1415.5815.77
mod-authtoken-b12.0820.8132.34120.6230.98115.95
mod-configuration-b10.7321.9833.9571.3330.0270.5
mod-pubsub-b9.1711.6713.6118.0912.3926.5
mod-feesfines-b8.2617.123.8854.7928.8754.37
mod-quick-marc-b7.27.637.578.197.937.88
pub-okapi3.919.4513.9933.4412.4727.68
mod-inventory-storage-b3.447.6511.9913.2410.6712.16
nginx-okapi2.566.359.35102.627.6969.58
mod-patron-b2.312.522.522.32.282.44
mod-oa-b2.282.172.672.753.173.52
mod-di-converter-storage-b2.22.192.292.392.121.97
mod-source-record-manager-b1.931.91.871.881.811.95
mod-data-import-b1.71.021.020.961.571.59
mod-source-record-storage-b1.681.721.731.771.761.83
mod-circulation-storage-b1.462.593.647.433.537.06
mod-circulation-b1.463.544.5810.255.6211.21
mod-search-b1.212.662.343.282.943.94
edge-patron-b0.920.9611.060.950.97
mod-patron-blocks-b0.751.381.82.742.382.97
mod-users-bl-b0.510.540.530.50.580.66
mod-entities-links-b0.350.360.440.420.40.39
pub-edge0.140.060.10.080.070.11


45 minute test with 75 vUsers (revision with 256 CPU for mod-dcb-b)

Longevity test

Memory Consumption

45 minute and longevity tests didn't reveal some problems with memory usage by modules. So no memory leaks detected.

Expand
titleMemory usage by modules


Service NameMemory 75 vUsersMemory 30 vUsers Longevity
mod-oa-b8179.24
mod-dcb-b68.6369.16
mod-users-b63.6562.98
mod-search-b55.3440.83
mod-pubsub-b54.7961.98
okapi-b48.9460.38
mod-inventory-b47.4950.79
mod-source-record-manager-b45.0645.76
mod-quick-marc-b43.5129.92
mod-di-converter-storage-b35.0229.58
mod-feesfines-b34.1834.12
mod-source-record-storage-b33.7631.37
mod-inventory-storage-b33.1240.06
mod-entities-links-b32.325.08
mod-configuration-b32.0730.21
mod-data-import-b31.3139.73
mod-patron-blocks-b31.1330.92
mod-users-bl-b28.9525.82
mod-circulation-b27.4126.71
mod-patron-b26.6225.17
mod-circulation-storage-b26.4328.83
mod-authtoken-b21.8422.1
edge-patron-b18.318.14
nginx-okapi4.854.8
pub-okapi4.694.69
pub-edge4.584.63


45 minute tests

Longevity test

RDS CPU Utilization

RDS CPU utilized:

8 vUsers - 13%, 20 vUsers - 22%, 30 vUsers - 30%, 75 vUsers - 50% During longevity test CPU grew from 30% to 45%. So it has growing trend during longevity test.

45 minute tests

Longevity test

RDS Database Connections

For both 45 minute and longevity tests RDS used max 615 connections. Without test it was 550 connections.

45 minute tests

Image Modified

Longevity test

Image Modified

CPU (User) usage by broker

Common CPU utilization by broker during all tests was 15% with equal distribution between brokers

45 minute tests

Image Modified

Longevity test

Image Modified

Database load

Image Modified

Image Modified

Image Modified

Appendix

Infrastructure

...