[Bug 43806] New: Add ability to prefork the Z39.50/SRU responder ( z3950_responder.pl ) with a maximum number of children
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43806 Bug ID: 43806 Summary: Add ability to prefork the Z39.50/SRU responder ( z3950_responder.pl ) with a maximum number of children Initiative type: --- Sponsorship --- status: Product: Koha Version: unspecified Hardware: All OS: All Status: NEW Severity: enhancement Priority: P5 - low Component: Z39.50 / SRU / OpenSearch Servers Assignee: koha-bugs@lists.koha-community.org Reporter: kyle@bywatersolutions.com QA Contact: testopia@bugs.koha-community.org CC: m.de.rooy@rijksmuseum.nl Target Milestone: --- Currently the z3950_responder.pl hands its accept loop to the YAZ frontend server through Net::Z3950::SimpleServer. YAZ forks a new child for every connection and has no limit on how many children it will create. Each child is a full Koha Perl process, so a burst of connections, or a pile of idle sessions held open until the idle timeout ( 60 minutes by default ), can use up all the memory on a server! It would be good to be able to cap concurrent sessions and keep a pool of preforked workers, the same way the SIP server does with Net::Server::PreFork. YAZ can serve a single connection in inetd mode ( -i ) and then return control to Perl, so Net::Server::PreFork can own the listening socket and each child can hand its accepted connection to YAZ. Each child serves one session and then exits. We should add the following options to z3950_responder.pl, settable through z3950_responder_options in the instance's z3950/config.xml: * --max-servers ( enables preforking ) * --min-servers * --min-spare-servers * --max-spare-servers Without --max-servers the responder should behave exactly as it does today. -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.
participants (1)
-
bugzilla-daemon@bugs.koha-community.org