Skip to end of banner
Go to start of banner

[Eureka] Check-in-check-out Test Report (Quesnelia)

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Overview

The test's target is to investigate the behaviour of the Check-In/Check-Out activities during fixed load tests. PERF-879 - Getting issue details... STATUS

Summary IN-PROGRESS

Check-In/Check-Out tests on Quesnelia release (Eureka) in QECP1 environment carried out with 8, 20, 30, 75 virtual users during 45 minutes and with 30 virtual users during longevity test (24 hours) to detect any trends in resource utilization

45 minute tests

  • Response times in tests with 8, 20, 30 virtual users delta was 200 ms. The lowest average response times were with 20 virtual users test: Check-In - 625 ms, average Check-Out - 1356 ms
  • The highest average response times showed 75 vUsers test: Check-In - 4 sec 610 ms, Check-Out - 12 sec 589 ms (whole test), Check-In - 622 ms, Check-Out - 1540 ms (before saturation point with 33 vUsers)

Longevity test

  • Longevity test was running 10 hours and began failing because of token expiration. Possible reason here is SSO Session Max limitation 10 hours (fs09000000/realm-settings/sessions).
    • Average response times in 10 hours test for Check-In - 1003 ms, Check-Out - 2870 ms
    • First 5 hours 30 minutes average response times Check-In - 770 ms, Check-Out - 1773 ms, the next 4 hours 30 minutes - Check-In - 1295 ms, Check-Out - 4280 ms

Comparison with previous Quesnelia release (qcp1 environment) results:

  • 8, 20, 30 vUsers tests were stable. And 75 vUsers test revealed saturation point during ramp-up period with 33 vUsers. After this point response times increased significantly with the same throughput.
  • There's a significant performance degradation compared to previous results from tests in quesnelia release on qcp1 environment (non-eureka):
    • 8 vUsers - Check-out - 96%, Check-in - 48%
    • 20 vUsers - Check-out - 61%, Check-in - 33%
    • 30 vUsers - Check-out - 89%, Check-in - 55%
    • 75 vUsers - Check-out - 1111%, Check-in - 695% (during whole test)
    • 75 vUsers - Check-out - %, Check-in - % (before saturation point was found)

Resources

  • CPU utilization
  • Memory consumption
  • RDS CPU utilization average
  • CPU (User) usage by broker

Common notes

Recommendations

Test Runs 

The following table contains  tests configuration information

Test #

vUsersRamp-up, sec

Duration, sec 

1

8802700
2202002700
3303002700
4757502700
53030086400

Results

Errors:

Response time

The table contains results of Check-in, Check-out tests in Quesnelia release (Eureka). All requests that are >= 100 ms (in average response times)

45 minute tests


8 vUsers    20 vUsers    30 vUsers    75 vUsers    
RequestsResponse Times (ms)   Response Times (ms)   Response Times (ms)   Response Times (ms)  
Label#SamplesAverage95th pct#SamplesAverage95th pct#SamplesAverage95th pct#SamplesAverage95th pct
Check-In Controller17451459.64169441401356.821569.9560471646.962725.6656712589.119031
Check-In Controller1288603.957063297625.786654560748.31340.0549574610.38229.2
POST_circulation/check-out-by-barcode (Submit_barcode_checkout)1746661.9755.954142613.146596047729.591242.865943868.577169.25
POST_circulation/check-in-by-barcode (Submit_barcode_checkin)1289240.43287.53305277.172934572286.6136349691642.043832.5
GET_circulation/loans (Submit_barcode_checkout)1745285.63404141275.473076047347.89640.665712528.165109
GET_circulation/loans (Submit_patron_barcode)174636.23262





65991548.853773
GET_circulation/requests (Submit_barcode_checkin)








49601171.583366.5
GET_circulation/requests_status_Open (Submit_patron_barcode)








65961120.863117.2
GET_circulation/requests (Submit_barcode_checkout)








6565997.173095.7
GET_users (Submit_patron_barcode)1747121.36129


6050136.53368.456603872.722508.6
GET_inventory/items (Submit_barcode_checkin)1289107.55130.53305111.121364576165.7469.154970848.622773
GET_users (Get_check_in_page)1290120.27140


4577165.61506.34977836.342577.1
GET_inventory/items (Submit_barcode_checkout)1746107.881304143110.181366048160.44468.556594757.242602
GET_circulation/requests_status_openAwaitingPickup (Submit_patron_barcode)








6594718.982636

Longevity test

 30 vUsers Longevity 


RequestsSamples, Response Times 

Label#SamplesAverage95th pct
Check-Out Controller7719728708510
Check-In Controller5880610033320
POST_circulation/check-out-by-barcode (Submit_barcode_checkout)7720511004050
POST_circulation/check-in-by-barcode (Submit_barcode_checkin)58817290390

Comparisons

This table has comparison between average values of response times of Quesnelia (Check-in-check-out Test Report (Quesnelia)) and Quesnelia (Eureka) releases


8 Users   20 Users   30 Users   75 Users   75 Users, upto 33 vUsers rampup
RequestsResponse Times   Response Times   Response Times   Response Times   Response Times

QuesneliaEureka

QuesneliaEureka

QuesneliaEureka

QuesneliaEureka

QuesneliaEureka

LabelAverageDelta,msDifference,%AverageDelta,msDifference,%AverageDelta,msDifference,%AverageDelta,msDifference,%AverageDelta,msDifference,%
Check-Out Controller741145971896.90%842.651356513.3560.92%870.21646775.889.15%103912589115501111.65%1039154150248.32%
Check-In Controller40860319547.79%467.71625157.2933.63%480.62748267.3855.63%58046104030694.83%580623437.41%

Comparison of Longevity test

30 vUsers Longevity  
Response Times 
QuesneliaEureka

AverageDelta,msDifference,%
106528701805169.48%
4541003549120.93%

Resources Utilization

CPU Utilization

45 minute and longevity tests used CPU in correspondence with number of vUsers but there's module that used about 16% - mod-inventory-storage-b. We do not observe expected growth for module CPU utilization in 75 vUsers.


45 minute tests

 CPU by modules

CPU parameter in revisions set to 0 (containers use all available resources)

Service NameCPU 8 vUsersCPU 20 vUsersCPU 30 vUsersCPU 75 vUsers
mod-inventory-storage-b


16.8
kong-b


5.27
mod-inventory-b


4.7
mod-circulation-b


3.57
mod-circulation-storage-b


3.36
mod-users-keycloak-b


2.38
mod-permissions-b


2.2
mod-pubsub-b


2.08
mod-users-b


2.01
mod-feesfines-b


1.64
mod-roles-keycloak-b


1.4
mod-configuration-b


1.12
edge-patron-b


1.11
mod-remote-storage-b


1.07
mod-patron-blocks-b


0.83
mod-audit-b


0.6
mgr-tenant-entitlements-b


0.6
mgr-tenants-b


0.58
mgr-applications-b


0.56
mod-source-record-manager-b


0.54

Longevity test

Memory Consumption

45 minute and longevity tests didn't reveal some problems with memory usage by modules. So no memory leaks detected. Modules that consumed max memory - mod-search - 94%, mod-oa - 78%, mod-inventory - 72%, mod-dcb - 71%

 Memory usage by modules
Service NameMemory 75 vUsersService NameMemory 30 vUsers Longevity
mod-inventory-b81.19mod-search-b90.1
mod-search-b68.23mod-inventory-b70.6
mod-agreements-b65.43mod-scheduler-b69.72
mod-users-keycloak-b64.15mod-agreements-b67.9
mgr-applications-b63.73mod-users-keycloak-b64.95
mod-scheduler-b63.36folio-keycloak-b64.87
mgr-tenant-entitlements-b61.72mgr-applications-b64.62
mod-roles-keycloak-b61.5mgr-tenant-entitlements-b63.84
folio-keycloak-b57.62mod-roles-keycloak-b62.91
mod-notes-b56.01mod-notes-b59.3
mod-lists-b55.4mod-lists-b57.03
mod-data-export-worker-b54.31mod-data-export-worker-b56.41
mod-users-b53.11mod-patron-blocks-b55.2
mgr-tenants-b53.01mgr-tenants-b54.02
mod-feesfines-b52.16mod-users-b53.98
mod-login-keycloak-b51.31mod-feesfines-b53.8
mod-service-interaction-b50.98mod-invoice-b53.13
mod-orders-b50.98mod-serials-management-b53
mod-invoice-b50.74mod-login-keycloak-b52.52
mod-audit-b50.59mod-service-interaction-b52.26

45 minute tests

Longevity test

RDS CPU Utilization

RDS CPU utilized:

8 vUsers - 14%, 20 vUsers - 26%, 30 vUsers - 35%, 75 vUsers - 36% During longevity test CPU stayed on the same level - 38% 

45 minute tests

Longevity test

RDS Database Connections

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

45 minute tests

Longevity test

CPU (User) usage by broker

Common CPU utilization by broker during all tests was 18, 15, 15, 13 % accordingly to broker distribution in 45 min tests

Common CPU utilization by broker during longevity was 18, 18, 16, 14% accordingly to broker distribution. Resource utilization decreased significantly after 6 hours 20 minutes (17:40 UTC) to 14, 12, 12, 11%

45 minute tests

Longevity test

Database load

45 minute tests

Longevity

Appendix

Infrastructure

PTF -environment qecp1
  • 11 m6i.2xlarge EC2 instances located in US East (N. Virginia)us-east-1 
  • 1 instance of db.r6.xlarge database instance: Writer instance
  • MSK tenant [ kafka configurations]
    • 4 kafka.m5.2xlarge brokers in 2 zones
    • Apache Kafka version 2.8.0

    • EBS storage volume per broker 300 GiB

    • auto.create.topics.enable=true
    • log.retention.minutes=480
    • default.replication.factor=3

DB table records size:

  • fs09000000
    • instances -            24493326
    • items -                  25662862
    • holding records - 24459683

Modules

 Check-In / Check-Out related modules

 All modules


Methodology/Approach

  • Run data preparation script before each CI/CO test
  • Update .jmx file script for Quesnelia release
  • Create  artefact and upload to carrier-io
  • Use Jenkins job to change parameters and run tests
  • Test CI/CO with 8, 20, 30, 75 concurrent users for 45 minutes each. 
  • Test CI/CO with 30 users for 24 hours to detect any trends in memory. 




  • No labels