From 0da5a98d69330014b0bdc57255f2387ae52326d7 Mon Sep 17 00:00:00 2001 From: Hardware Date: Sat, 17 Feb 2018 10:21:10 +0100 Subject: [PATCH] feat(): improve PHP resource management --- Dockerfile | 6 +++++- README.md | 2 ++ rootfs/etc/php7/conf.d/00_opcache.ini | 4 ++-- rootfs/etc/php7/php-fpm.conf | 5 +++-- rootfs/usr/local/bin/run.sh | 2 ++ 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 54fa45f..fd90bc4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,11 @@ LABEL description "Next-generation forum software that makes online discussion f ARG VERSION=v0.1.0-beta.7 -ENV GID=991 UID=991 UPLOAD_MAX_SIZE=50M +ENV GID=991 \ + UID=991 \ + UPLOAD_MAX_SIZE=50M \ + PHP_MEMORY_LIMIT=128M \ + OPCACHE_MEMORY_LIMIT=128 RUN echo "@community https://nl.alpinelinux.org/alpine/v3.7/community" >> /etc/apk/repositories \ && apk add -U \ diff --git a/README.md b/README.md index 9aab472..69c224a 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,8 @@ Flarum is the next-generation forum software that makes online discussion fun. I | **DB_PASS** | MariaDB database password | **required** | none | **DB_PREF** | Flarum tables prefix | *optional* | none | **UPLOAD_MAX_SIZE** | The maximum size of an uploaded file | *optional* | 50M +| **PHP_MEMORY_LIMIT** | PHP memory limit | *optional* | 128M | +| **OPCACHE_MEMORY_LIMIT** | OPcache memory size in megabytes | *optional* | 128 ## Installation diff --git a/rootfs/etc/php7/conf.d/00_opcache.ini b/rootfs/etc/php7/conf.d/00_opcache.ini index 861ea15..13b2f2a 100644 --- a/rootfs/etc/php7/conf.d/00_opcache.ini +++ b/rootfs/etc/php7/conf.d/00_opcache.ini @@ -2,7 +2,7 @@ zend_extension=opcache.so opcache.enable=1 opcache.enable_cli=1 opcache.fast_shutdown=1 -opcache.memory_consumption=128 +opcache.memory_consumption= opcache.interned_strings_buffer=16 -opcache.max_accelerated_files=5413 +opcache.max_accelerated_files=7963 opcache.revalidate_freq=60 diff --git a/rootfs/etc/php7/php-fpm.conf b/rootfs/etc/php7/php-fpm.conf index 2d5979c..8b00a17 100644 --- a/rootfs/etc/php7/php-fpm.conf +++ b/rootfs/etc/php7/php-fpm.conf @@ -5,11 +5,12 @@ error_log = /tmp/php_error.log [www] listen = /tmp/php-fpm.sock pm = dynamic -pm.max_children = 5 +pm.max_children = 20 pm.start_servers = 2 pm.min_spare_servers = 1 -pm.max_spare_servers = 3 +pm.max_spare_servers = 4 chdir = / php_admin_value[expose_php] = Off php_admin_value[post_max_size] = php_admin_value[upload_max_filesize] = +php_admin_value[memory_limit] = diff --git a/rootfs/usr/local/bin/run.sh b/rootfs/usr/local/bin/run.sh index f5a5055..2eacfd6 100644 --- a/rootfs/usr/local/bin/run.sh +++ b/rootfs/usr/local/bin/run.sh @@ -24,6 +24,8 @@ if [ -z "$FORUM_URL" ]; then fi sed -i "s//$UPLOAD_MAX_SIZE/g" /etc/nginx/nginx.conf /etc/php7/php-fpm.conf +sed -i "s//$PHP_MEMORY_LIMIT/g" /etc/php7/php-fpm.conf +sed -i "s//$OPCACHE_MEMORY_LIMIT/g" /etc/php7/conf.d/00_opcache.ini # Set permissions chown -R $UID:$GID /flarum /services /var/log /var/lib/nginx