[Koha-bugs] [Bug 35899] New: Performance improvements for build_holds_queue

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Wed Jan 24 20:06:35 CET 2024


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35899

            Bug ID: 35899
           Summary: Performance improvements for build_holds_queue
 Change sponsored?: ---
           Product: Koha
           Version: master
          Hardware: All
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P5 - low
         Component: Hold requests
          Assignee: koha-bugs at lists.koha-community.org
          Reporter: andreas.jonsson at kreablo.se
        QA Contact: testopia at bugs.koha-community.org
                CC: gmcharlt at gmail.com

On a large and busy system the holds queue can take several minutes to build
adding a significant load to the database and koha server.

I have profiled the script and have noticed two major inefficiencies:

1. Calls to C4::Circulation::GetBranchItemRule constitute roughly 35% of the
runtime.  But this method can easily be memoized.

2. With LocalHoldsPriority enabled, expensive checks are made for all available
items, even if it is only relevant to do these checks for local items. 
Depending on how the system is configured, either the unnecessary loading of
patron objects, or calls to _checkHoldPolicy can take considerable time.

I have prepared two patches which together cuts the runtime of the script with
abouth 50% if LocalHoldsPriority is enabled.

Profiling result before:

https://bv-test-opac.biblioteket.nu/resources/before/index.html

Profiling result after:

https://bv-test-opac.biblioteket.nu/resources/after/index.html

-- 
You are receiving this mail because:
You are watching all bug changes.
You are the assignee for the bug.


More information about the Koha-bugs mailing list