Loading items on instance record (in holdings accordion) is slow
Description
Environment
Potential Workaround
Attachments
relates to
Checklist
hideTestRail: Results
Activity

Cate BoeremaJune 22, 2020 at 11:33 AM
Thanks guys! I have a bit of feedback on the process:
It would be great if we could link the development issues to the perf issues (looks like someone has done this now - thank you!)
It would be great if the person who filed a PERF issue (me in this case) could be tagged in the Interested parties section of the development issues that have been created
It would be great if the repro steps from the perf issue (this issue) would be replicated in the development issues (in this case, MODSOURCE-149 and MODSOURCE-150) so that it is clear that they are expected to resolve the issue described in the PERF
Tagging and as an FYI

Svitlana ZmiivskaJune 22, 2020 at 11:19 AM
Also the missing indexes warnings are covered by the story [CIRCSTORE-215]. More information you can find in the report https://folio-org.atlassian.net/wiki/pages/viewpage.action?pageId=1381682 in High Summary and recommendation sections

Julian LadischJune 22, 2020 at 11:05 AM
This performance report was created: https://folio-org.atlassian.net/wiki/pages/viewpage.action?pageId=1381682
The following JIRAs have been created for mod_source_record_storage to resolve the issue:
MODSOURCE-149
MODSOURCE-150

Cate BoeremaJune 22, 2020 at 10:48 AM
was there development done to resolve this issue? Or development tickets created? I don't see any linked here. Thanks!

Svitlana ZmiivskaJune 9, 2020 at 1:35 PMEdited
High Level Summary
Slow APIs taking more than 100ms to run:
GET source-storage/formattedRecords/id
GET inventory/instances keyword all "aba"
POST checkout-by-barcode
GET inventory/items
GET inventory/instances/{id}
GET circulation/loans
GET locations
GET circulation/requests
Some mod_source_record_storage's, mod-inventory-storage's, mod-circulation-storage's SQL queries took more than 500 ms to run, see the Slow Queries section and Recommended Improvements for the JIRAs created to address these SQL queries
On average, the performance can be improved by 100%. if we remove redundant "EXPLAIN ANALYZE" query call on mod_source_record_storage module. EXPLAIN ANALYZE statements are debugging statements that added a second execution (along with the first one) therefore increasing the overall time by 100%.
JVM profiling shows the slowest operations, totaling more CPU time than other calls:
Get module for request
JSON de/serialization
logging with INFO level
Details
Assignee
Svitlana ZmiivskaSvitlana Zmiivska(Deactivated)Reporter
Cate BoeremaCate Boerema(Deactivated)Labels
Priority
P2TestRail: Cases
Open TestRail: CasesTestRail: Runs
Open TestRail: Runs
Details
Details
Assignee

Reporter

Screencast attached
Jmeter script attached
I think this is pretty high priority. Basically, what is happening with this is that the holdings accordion with all the items in it is taking forever/not loading. This happens even on snapshot with ABA which has only 10 items. I would imagine the problem is much worse in an environment with a more realistic amount of records.
We expect that it should take no longer than 2 seconds to load the items
This issue relates to Inventory. The team that owns this module is Core Functional.