Check-in-check-out Test Report (Poppy)

Overview

The test's target is to investigate the behaviour of the Check-In/Check-Out activities during fixed load tests.

PERF-702 - Getting issue details... STATUS

Summary

Check-In/Check-Out tests on Poppy carried out with 8, 20, 30, 75 users during 45 minutes and with 30 users during 14 hours - longevity test .

45 minute tests

  • Within Poppy release 45 min tests best response times results were with 20 users. Average CI - 0.45 sec, CO - 0.805 sec. During the highest load (75 users) response times degraded ~ 30% in average.
  • Comparing Poppy and Orchid tests with 20 users during 45 minutes there's no significant difference but for tests with higher vUsers amount we see improvements for CI and CO which should be investigated.

Longevity test

  • Within Poppy release Longevity test with 30 vUsers degraded compared to 45 min test with: CI - 0.471 sec(+4.90%), CO - 1.025 sec(+27.01%).  But CI/CO is stable still during a long fixed load.
  • Comparing Longevity results of Orchid vs Poppy - CI response times changed from 1.061 sec to 0.471 sec and CO - from 3.233 sec to 1.025 sec.
  • Database utilization has growing trend for longevity test.

Common notes

  • Main API call slightly degraded (POST CO: +5.07%)
  • Memory consumption spikes at the beginning of testing usually go after cluster start and stabilize. But here memory leak for mod-pubsub module was suspected.
  • Spikes observed during all tests during 5-10 seconds for all requests with every minute frequency. Response times are up to 6 seconds.

Recommendations

  • Investigate mod-pubsub module behaviour  PERF-721 - Getting issue details... STATUS
  • Investigate response times differences between releases. Run additional test on Orchid release with 30 vUsers for 45 minutes and compare with Poppy results to find the source of changes.

Test Runs 

The following table contains information about a test model and related Grafana snapshots:

Test #

Test Conditions

vUsersRamp-up, sec

Duration, sec 

Grafana

1.

circulation_checkInCheckOut_Poppy_38802700http://carrier-io.int.folio.ebsco.com/grafana/d/SqzWB26nk/jmeter-performance-check-in-check-out?orgId=1&from=1698852592867&to=1698855933000&var-percentile=95&var-test_type=baseline&var-test=circulation_checkInCheckOut_Poppy_3&var-env=int&var-grouping=1s&var-low_limit=250&var-high_limit=750&var-db_name=jmeter&var-sampler_type=All
2.202002700http://carrier-io.int.folio.ebsco.com/grafana/d/SqzWB26nk/jmeter-performance-check-in-check-out?orgId=1&from=1698856470216&to=1698859223000&var-percentile=95&var-test_type=baseline&var-test=circulation_checkInCheckOut_Poppy_3&var-env=int&var-grouping=1s&var-low_limit=250&var-high_limit=750&var-db_name=jmeter&var-sampler_type=All
3.303002700http://carrier-io.int.folio.ebsco.com/grafana/d/SqzWB26nk/jmeter-performance-check-in-check-out?orgId=1&from=1698861207442&to=1698864080572&var-percentile=95&var-test_type=baseline&var-test=circulation_checkInCheckOut_Poppy_3&var-env=int&var-grouping=1s&var-low_limit=250&var-high_limit=750&var-db_name=jmeter&var-sampler_type=All
4.757502700http://carrier-io.int.folio.ebsco.com/grafana/d/SqzWB26nk/jmeter-performance-check-in-check-out?orgId=1&from=1698865254355&to=1698868102672&var-percentile=95&var-test_type=baseline&var-test=circulation_checkInCheckOut_Poppy_3&var-env=int&var-grouping=1s&var-low_limit=250&var-high_limit=750&var-db_name=jmeter&var-sampler_type=All
5. Retest757502700http://carrier-io.int.folio.ebsco.com/grafana/d/SqzWB26nk/jmeter-performance-check-in-check-out?orgId=1&from=1698915649265&to=1698918502961&var-percentile=95&var-test_type=baseline&var-test=circulation_checkInCheckOut_Poppy_3&var-env=int&var-grouping=1s&var-low_limit=250&var-high_limit=750&var-db_name=jmeter&var-sampler_type=All
6.3030086400http://carrier-io.int.folio.ebsco.com/grafana/d/SqzWB26nk/jmeter-performance-check-in-check-out?orgId=1&from=1699029000000&to=1699087095584&var-percentile=95&var-test_type=baseline&var-test=circulation_checkInCheckOut_Poppy_3&var-env=int&var-grouping=1s&var-low_limit=250&var-high_limit=750&var-db_name=jmeter&var-sampler_type=All

Results

The following table contains information about test results and their comparison with the baseline (poppy 8 VU).

  • Comparing Longevity test results against 45 min with 30 users within Poppy release we see almost the same results for Check-In 0.471 sec(+4.90%) in average and 1.025 sec(+27.01%) for Check-Out.
  • Within Poppy the response times during test with 75 users grew up to 30% compared to 8 users test.

Errors:

  • Error messages: POST_circulation/check-out-by-barcode (Submit_barcode_checkout)_POST_422. Reason for that is a doubled usage of checked-out item barcodes. 

Response time

Controller \ Users8 users

Requests75th pct95th pctAverage
Check-In (baseline)14000.4450.5990.479
Check-Out  (baseline)18070.8141.0160.832

20 users
Check-In 34390.426 (-4.27%)0.503 (-16.03%)0.45 (-6.05%)
Check-Out 44320.785 (-3.56%)0.931 (-8.37%)0.805 (-3.25%)

30 users
Check-In 48730.422 (-5.17%)0.488 (-18.53%)0.449 (-6.26%)
Check-Out 67590.786 (-3.44%)0.912 (-10.24%)0.807 (-3%)

75 users

With nginx okapi issues

Check-In 109530.592 (+33.03%)0.733 (+22.37%)0.57 (+19%)
Check-Out 145321.137 (+39.68%)1.378 (+35.63%)1.059 (+27.28%)

75 users

Retest

Check-In 110460.641 (+44.04%)0.785 (+31.05%)0.622 (+29.85%)
Check-Out 144781.182 (+45.21%)1.453 (+43.01%)1.116 (+34.13%)

30 users

Longevity test (compared to 30 vUsers)

Check-In 1106790.444 (+5.21%)0.504 (+3.28%)0.471