Skip to content
  • Stefan Fritsch's avatar
    Some improvements for handling of many connections for MPM event: · 3f6e54fa
    Stefan Fritsch authored
    - Process lingering close asynchronously instead of tying up worker threads
      (based on patch by Jeff Trawick).
    
    - If the number of connections of a process is above
    
         threads_per_child  +  WORKER_OVERCOMMIT * (idle_workers - 1)
    
      (WORKER_OVERCOMMIT is fixed at 2, at the moment), or if all workers are busy,
      don't accept new connections in that process. Such a dynamic connection limit
      is necessary because we may have both async and non-async (ssl) connections.
      WORKER_OVERCOMMIT should be a config option.
    
    - Don't count idle workers of not-accepting processes against MinSpareThreads,
      so that the parent will spawn new processes when necessary.
    
    - If we receive a keep-alive request while all workers are busy, don't block
      but close the connection immediately so that the client will re-connect to a
      different process.
    
    Related changes:
    
    - Log what is going on at trace loglevels.
    - Remove the bypass_push poll type flag, this code cannot be hit anymore
      (if it ever could?).
    - Add some macro helpers for dealing with timeout queues.
    
    
    
    git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1137358 13f79535-47bb-0310-9956-ffa450edef68
    3f6e54fa
To find the state of this project's repository at the time of any of these versions, check out the tags.