Skip to content

Instantly share code, notes, and snippets.

@fschiettecatte
Last active October 8, 2024 13:32
Show Gist options
  • Save fschiettecatte/0b5c2a85d2d073c49a66395fc9566115 to your computer and use it in GitHub Desktop.
Save fschiettecatte/0b5c2a85d2d073c49a66395fc9566115 to your computer and use it in GitHub Desktop.
MPM Event Module Configuration for Large Servers
#
# MPM Event Module
#
# Large - 16 CPU / 32GB RAM
#
# https://httpd.apache.org/docs/2.4/mod/worker.html
# https://httpd.apache.org/docs/2.4/mod/event.html
#
# Matching WSGI Module Configuration
# WSGIDaemonProcess @@@@@ processes=20 threads=3 display-name=%{GROUP}
#
<IfModule mpm_event_module>
# Upper limit on configurable number of processes
# https://httpd.apache.org/docs/2.4/mod/mpm_common.html#serverlimit
# Default: 16
ServerLimit 16
# Number of threads created by each child process
# https://httpd.apache.org/docs/2.4/mod/mpm_common.html#threadsperchild
# Default: 25
# ThreadsPerChild 25
# Maximum number of connections that will be processed simultaneously
# https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxrequestworkers
# Default: MaxRequestWorkers * ThreadsPerChild = ServerLimit => 16 X 25 = 400
# Reverse: MaxRequestWorkers / ThreadsPerChild = ServerLimit => 350 / 25 = 14
MaxRequestWorkers 350
# Sets the upper limit on the configurable number of threads per child process
# https://httpd.apache.org/docs/2.4/mod/mpm_common.html#threadlimit
# Default: 64
# ThreadLimit 64
# Limit on the number of connections that an individual child server will handle during its life
# https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxconnectionsperchild
# Default: 0 (No limit)
# MaxConnectionsPerChild 0
# Maximum length of the queue of pending connections
# https://httpd.apache.org/docs/2.4/mod/mpm_common.html#listenbacklog
# Default: 512
# ListenBackLog 512
</IfModule>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment