Increase the number of possible child processes
The mirrorlist-server is the process which has the mirrorlist data loaded and which is accessed by the public facing mirrorlist_client.wsgi. The mirrorlist-server uses the ForkingUnixStreamServer which has a default of max_children = 40. (https://hg.python.org/cpython/file/2.7/Lib/SocketServer.py#l516) Looking at the code of ForkingUnixStreamServer it says at https://hg.python.org/cpython/file/2.7/Lib/SocketServer.py#l523 # If we're above the max number of children, wait and reap them until # we go back below threshold. Note that we use waitpid(-1) below to be # able to collect children in size(<defunct children>) syscalls instead # of size(<children>): the downside is that this might reap children # which we didn't spawn, which is why we only resort to this when we're # above max_children. As we are running the wsgi with processes=45 this sounds like it can lead to situation where it might just hang. This increases max_children to 80 and processes to 60. Signed-off-by: Adrian Reber <adrian@lisas.de>
This commit is contained in:
parent
d04588274a
commit
6722cab410
4 changed files with 12 additions and 2 deletions
|
@ -938,6 +938,7 @@ def sigterm_handler(signum, frame):
|
|||
|
||||
class ForkingUnixStreamServer(ForkingMixIn, UnixStreamServer):
|
||||
request_queue_size = 300
|
||||
max_children = 80
|
||||
def finish_request(self, request, client_address):
|
||||
signal.signal(signal.SIGHUP, signal.SIG_IGN)
|
||||
BaseServer.finish_request(self, request, client_address)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue