diff --git a/Containers/apache/Dockerfile b/Containers/apache/Dockerfile index 8230aa7e..828cbcaf 100644 --- a/Containers/apache/Dockerfile +++ b/Containers/apache/Dockerfile @@ -53,6 +53,12 @@ RUN set -ex; \ /usr/local/apache2/conf/httpd.conf; \ echo "Include conf/nextcloud.conf" | tee -a /usr/local/apache2/conf/httpd.conf; \ echo "ServerName localhost" | tee -a /usr/local/apache2/conf/httpd.conf; \ +# Sync this with max db connections and pm.max_children +# We don't actually expect so many workers but don't want to limit it artificially because people will report issues otherwise. + sed -i 's|MaxRequestWorkers.*|MaxRequestWorkers 5000|' /usr/local/apache2/conf/extra/httpd-mpm.conf; \ + grep -q '' /usr/local/apache2/conf/extra/httpd-mpm.conf; \ +# ServerLimit needs to be set to MaxRequestWorkers divided by ThreadsPerChild which is set to 25 by default + sed -i '//a\ \ \ \ ServerLimit 200' /usr/local/apache2/conf/extra/httpd-mpm.conf; \ \ rm -rf /usr/local/apache2/conf/original /var/www; \ mkdir -p /var/www; \ diff --git a/Containers/nextcloud/Dockerfile b/Containers/nextcloud/Dockerfile index dfe06d5f..01bb9d22 100644 --- a/Containers/nextcloud/Dockerfile +++ b/Containers/nextcloud/Dockerfile @@ -195,7 +195,7 @@ RUN set -ex; \ \ grep -q '^pm = dynamic' /usr/local/etc/php-fpm.d/www.conf; \ sed -i 's/^pm = dynamic/pm = ondemand/' /usr/local/etc/php-fpm.d/www.conf; \ -# Sync this with max db connections +# Sync this with max db connections and MaxRequestWorkers # We don't actually expect so many children but don't want to limit it artificially because people will report issues otherwise. # Also children will usually be terminated again after the process is done due to the ondemand setting sed -i 's/^pm.max_children =.*/pm.max_children = 5000/' /usr/local/etc/php-fpm.d/www.conf; \ diff --git a/Containers/postgresql/start.sh b/Containers/postgresql/start.sh index 2a7b6845..4ae7369f 100644 --- a/Containers/postgresql/start.sh +++ b/Containers/postgresql/start.sh @@ -150,6 +150,7 @@ fi if [ -f "/var/lib/postgresql/data/postgresql.conf" ]; then echo "Setting postgres values..." + # Sync this with max pm.max_children and MaxRequestWorkers # 5000 connections is apparently the highest possible value with postgres so set it to that so that we don't run into a limit here. # We don't actually expect so many connections but don't want to limit it artificially because people will report issues otherwise # Also connections should usually be closed again after the process is done