From 9c693724b53b2d40c94de8ad6a98a65e7077f867 Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Wed, 20 Mar 2019 03:21:39 +0100 Subject: [PATCH] add load-balancing for php7.3 --- .travis.yml | 4 ++-- wo/cli/plugins/stack.py | 22 ++++++++++++++++++---- wo/cli/templates/upstream.mustache | 5 +++++ 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 89cdaf1..55e40ed 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,7 +30,7 @@ script: - sudo wo stack install --admin || sudo tail -n50 /var/log/wo/wordops.log - sudo wo site create html.net --html && sudo wo site create php.com --php && sudo wo site create mysql.com --mysql || sudo tail -n50 /var/log/wo/wordops.log - - sudo wo site create proxy.com --proxy=127.0.0.1:3000 + - sudo wo site create proxy.com --proxy=127.0.0.1:3000 || sudo tail -n50 /var/log/wo/wordops.log - sudo wo site create wp1.com --wp || sudo tail -n50 /var/log/wo/wordops.log - sudo wo site create wpsc1.net --wpsc && sudo wo site create wpfc1.com --wpfc || sudo tail -n50 /var/log/wo/wordops.log @@ -61,4 +61,4 @@ script: - sudo wp --allow-root --info - sudo bash -c 'nginx -T 2>&1 > /var/log/wo/nginx.log 2>&1' || sudo tail -n50 /var/log/wo/wordops.log - sudo bash -c 'tar -I pigz -cf wordops.tar.gz /var/log/wo' - - sudo curl --progress-bar --upload-file "wordops.tar.gz" https://transfer.sh/$(basename wordops.tar.gz) && echo "" || sudo echo "transfer.sh is down" + - sudo curl --progress-bar --upload-file "wordops.tar.gz" https://transfer.vtbox.net/$(basename wordops.tar.gz) && echo "" || sudo echo "transfer.sh is down" diff --git a/wo/cli/plugins/stack.py b/wo/cli/plugins/stack.py index 8b04c8d..f0fd43e 100644 --- a/wo/cli/plugins/stack.py +++ b/wo/cli/plugins/stack.py @@ -882,10 +882,10 @@ class WOStackController(CementBaseController): config['www']['ping.path'] = '/ping' config['www']['pm.status_path'] = '/status' config['www']['pm.max_requests'] = '1500' - config['www']['pm.max_children'] = '100' - config['www']['pm.start_servers'] = '20' - config['www']['pm.min_spare_servers'] = '10' - config['www']['pm.max_spare_servers'] = '30' + config['www']['pm.max_children'] = '50' + config['www']['pm.start_servers'] = '10' + config['www']['pm.min_spare_servers'] = '5' + config['www']['pm.max_spare_servers'] = '15' config['www']['request_terminate_timeout'] = '300' config['www']['pm'] = 'ondemand' config['www']['chdir'] = '/' @@ -897,6 +897,20 @@ class WOStackController(CementBaseController): Log.debug(self, "writting PHP 7.3 configuration into " "/etc/php/7.3/fpm/pool.d/www.conf") config.write(configfile) + + # Generate /etc/php/7.3/fpm/pool.d/www-two.conf + WOFileUtils.copyfile(self, "/etc/php/7.3/fpm/pool.d/www.conf", + "/etc/php/7.3/fpm/pool.d/www-two.conf") + WOFileUtils.searchreplace(self, "/etc/php/7.3/fpm/pool.d/" + "www-two.conf", "[www]", "[www-two]") + config = configparser.ConfigParser() + config.read('/etc/php/7.3/fpm/pool.d/www-two.conf') + config['www-two']['listen'] = 'php73-two-fpm.sock' + with open('/etc/php/7.3/fpm/pool.d/www-two.conf', + encoding='utf-8', mode='w') as confifile: + Log.debug(self, "writting PHP7.3 configuration into " + "/etc/php/7.3/fpm/pool.d/www-two.conf") + config.write(confifile) # Generate /etc/php/7.3/fpm/pool.d/debug.conf WOFileUtils.copyfile(self, "/etc/php/7.3/fpm/pool.d/www.conf", diff --git a/wo/cli/templates/upstream.mustache b/wo/cli/templates/upstream.mustache index 736a551..61019af 100644 --- a/wo/cli/templates/upstream.mustache +++ b/wo/cli/templates/upstream.mustache @@ -50,7 +50,12 @@ server 127.0.0.1:9172; # PHP 7.3 upstream with load-balancing on two unix sockets upstream php73 { + least_conn; + server unix:/var/run/php/php73-fpm.sock; + server unix:/var/run/php/php73-two-fpm.sock; + + keepalive 5; } # PHP 7.3 debug