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: [email protected]
Reporter: [email protected]
QA Contact: [email protected]
CC: [email protected]
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.
_______________________________________________
Koha-bugs mailing list -- [email protected]
To unsubscribe send an email to [email protected]
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/