Table of Contents |
---|
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 server System JiraJIRA serverId 01505d01-b853-3c2e-90f1-ee9b165564fc key CIRCSTORE-402
Previous test report: [Nolana] Check-IN + title-level requests
Ticket: Jira Legacy server System JiraJIRA serverId 01505d01-b853-3c2e-90f1-ee9b165564fc key PERF-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:
- CPU consumption by several services increased significantly - see Service CPU Utilization.
RDS CPU Utilization increased from 15% to 72% - see RDS CPU Utilization
Database load increased two times - see Database Load
- 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 | ||||||
---|---|---|---|---|---|---|
|
...
Test # | Test Conditions | Duration | Load generator size (recommended) | Load generator Memory (GiB) (recommended) | Notes |
---|---|---|---|---|---|
1. | Baseline, Check-in with 1, 8, 25 users | 30 min | t3.medium | 3 | Without TLR |
2. | Verification, Check-in with 1, 8, 25 users | With 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.
...