Versions Compared

Key

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

Table of Contents
Overview

Test goal is to assess performance of circulation check-in functionality for items with 10 TLR (title-level requests) each. Difference from the previous testing is added indexes to mod_circulation_storage.request and mod_circulation_storage.actual_cost_record in scope of

Jira Legacy
serverSystem JiraJIRA
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyCIRCSTORE-402
.

Previous test report: [Nolana] Check-IN + title-level requests

Ticket:

Jira Legacy
serverSystem JiraJIRA
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyPERF-568

...

  • Load tests showed that there is still significant degradation in performance of check-in for items with 10 TLRs each and without it. Also, response time increased after indexes were added. - see Response Time Comparison.
  • Resource monitoring showed that:
  • Query plan analysis for top SQL-queries showed that indexes were not used in queries processing.

...

As added indexes didn't change query plan of most CPU-consuming queries,

Jira Legacy
serverSystem JiraJIRA
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyCIRCSTORE-402
should be reviewed. Tests should be repeated with fixes.

...

Test #

Test Conditions

Duration 

Load generator size (recommended)

Load generator Memory (GiB) (recommended)

Notes


1.

Baseline, Check-in with 1, 8, 25 users

30 mint3.medium3

Without TLR

2.Verification, Check-in with 1, 8, 25 usersWith 10 TLR per item

...

During verification tests two SQL queries moved to the beginning of Top SQL list:

SELECT fs09000000[tenant]_mod_circulation_storage.count_estimate(?)

SELECT jsonb,id FROM fs09000000[tenant]_mod_circulation_storage.request WHERE ((lower(f_unaccent(request.jsonb->>?)) LIKE lower(f_unaccent(?))) AND ((((CASE WHEN length(lower(?)) <= ? THEN left(lower(request.jsonb->>?),?) LIKE lower(?) ELSE left(lower(request.jsonb->>?),?) LIKE left(lower(?),?) AND lower(request.jsonb->>?) LIKE lower(?) END) OR (CASE WHEN length(lower(?)) <= ? THEN left(lower(request.jsonb->>?),?) LIKE lower(?) ELSE left(lower(request.jsonb->>?),?) LIKE left(lower(?),?) AND lower(reques

...

Environment didn't change since previous testing, but two indexes were added:  requestrequest_instanceid_idx on fs09000000on [tenant]_mod_circulation_storage.request and ctualand ctual_cost_record_expirationdate_idx on fs09000000on [tenant]_mod_circulation_storage.actual_cost_record.

...