| Summary: | Add prefetch to improve performance of holds page | ||
|---|---|---|---|
| Product: | Koha | Reporter: | Nick Clemens (kidclamp) <nick> |
| Component: | Hold requests | Assignee: | Nick Clemens (kidclamp) <nick> |
| Status: | Pushed to stable --- | QA Contact: | Martin Renvoize (ashimema) <martin.renvoize> |
| Severity: | normal | ||
| Priority: | P5 - low | CC: | andrew, david, gmcharlt, jonathan.druart, lisette, martin.renvoize, tomascohen |
| Version: | Main | ||
| Hardware: | All | ||
| OS: | All | ||
| GIT URL: | Initiative type: | --- | |
| Sponsorship status: | --- | Comma delimited list of Sponsors: | |
| Crowdfunding goal: | 0 | Patch complexity: | --- |
| Documentation contact: | Documentation submission: | ||
| Text to go in the release notes: |
This improves the performance of the holds request page for a record in the staff interface.
|
Version(s) released in: |
26.05.00,25.11.01
|
| Circulation function: | |||
| Attachments: |
Bug 41432: Prefetch items and borrowers for holds
Bug 41432: Prefetch items and borrowers for holds Bug 41432: Prefetch items and borrowers for holds |
||
Created attachment 190438 [details] [review] Bug 41432: Prefetch items and borrowers for holds To test: 1 - Add a bunch of holds to a record https://github.com/kidclamp/handy-koha-script/blob/main/randhold.pl 2 - Enable profiling: https://wiki.koha-community.org/wiki/Profiling_with_Devel::NYTProf#NYTProf_with_Plack 3 - Browse to the record and load the holds table 4 - View the flame graph for the request like instructions in #2 5 - Note that Koha::Hold->borrower and Koha::Hold->item take a lot of time 6 - Apply patch, restart all 7 - Reload page 8 - Reload flame graph 9 - Note time for fetching borrowers and items is significantly reduced 10 - Sing off! Created attachment 190439 [details] [review] Bug 41432: Prefetch items and borrowers for holds To test: 1 - Add a bunch of holds to a record https://github.com/kidclamp/handy-koha-script/blob/main/randhold.pl 2 - Enable profiling: https://wiki.koha-community.org/wiki/Profiling_with_Devel::NYTProf#NYTProf_with_Plack 3 - Browse to the record and load the holds table 4 - View the flame graph for the request like instructions in #2 5 - Note that Koha::Hold->borrower and Koha::Hold->item take a lot of time 6 - Apply patch, restart all 7 - Reload page 8 - Reload flame graph 9 - Note time for fetching borrowers and items is significantly reduced 10 - Sing off! Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Trivial, self SO Created attachment 190440 [details] [review] Bug 41432: Prefetch items and borrowers for holds To test: 1 - Add a bunch of holds to a record https://github.com/kidclamp/handy-koha-script/blob/main/randhold.pl 2 - Enable profiling: https://wiki.koha-community.org/wiki/Profiling_with_Devel::NYTProf#NYTProf_with_Plack 3 - Browse to the record and load the holds table 4 - View the flame graph for the request like instructions in #2 5 - Note that Koha::Hold->borrower and Koha::Hold->item take a lot of time 6 - Apply patch, restart all 7 - Reload page 8 - Reload flame graph 9 - Note time for fetching borrowers and items is significantly reduced 10 - Sing off! Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk> Nice work everyone! Pushed to main for 26.05 Thanks all, pushed to 25.11.x |
To view the issue: 1 - Add a bunch of holds to a record https://github.com/kidclamp/handy-koha-script/blob/main/randhold.pl 2 - Enable profiling: https://wiki.koha-community.org/wiki/Profiling_with_Devel::NYTProf#NYTProf_with_Plack 3 - Browse to the record and load the holds table 4 - View the flame graph for the request like instructions in #2 5 - Note that Koha::Hold->borrower and Koha::Hold->item take a lot of time