diff options
author | Wave <wave72@users.noreply.github.com> | 2015-12-20 10:20:36 +0100 |
---|---|---|
committer | Wave <wave72@users.noreply.github.com> | 2015-12-20 10:20:36 +0100 |
commit | 2aad4c2cf9c17a7532089aadfcc5feff6505ec74 (patch) | |
tree | 2082c8dc7ba090f610874b6e33b0f1092a2ff00c /install/INSTALL.txt | |
parent | 474a1267d73c1dcf00678dd15ed4e0e37496473d (diff) | |
parent | e2692a4baaf031bd0d9c0893c3762637b1f6b201 (diff) | |
download | volse-hubzilla-2aad4c2cf9c17a7532089aadfcc5feff6505ec74.tar.gz volse-hubzilla-2aad4c2cf9c17a7532089aadfcc5feff6505ec74.tar.bz2 volse-hubzilla-2aad4c2cf9c17a7532089aadfcc5feff6505ec74.zip |
Merge pull request #4 from redmatrix/master
Merge master into dev branch
Diffstat (limited to 'install/INSTALL.txt')
-rw-r--r-- | install/INSTALL.txt | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/install/INSTALL.txt b/install/INSTALL.txt index c81510522..8ca74c23b 100644 --- a/install/INSTALL.txt +++ b/install/INSTALL.txt @@ -341,3 +341,49 @@ This is obvious as soon as you notice that the cron uses proc_open to execute php-scripts that also use proc_open, but it took me quite some time to find that out. I hope this saves some time for other people using suhosin with function blacklists. + +##################################################################### +- Apache processes hanging, using as much CPU as they can +##################################################################### + +This seems to happen sometimes if you use mpm_prefork and the PHP process +started by Apache cannot get database access. + +Consider the following settings: + +In /etc/apache2/mods-enabled/mpm_prefork.conf (Debian, path and file name +may vary depending on your OS and distribution), set + + GracefulShutdownTimeout 300 + +This makes sure that Apache processes that are running wild will not do so +forever, but will be killed if they didn't stop five minutes after a +shutdown command was sent to the process. + +If you expect high load on your server (public servers, e.g.), also make +sure that Apache will not spawn more processes than MySQL will accept +connections. + +In the default Debian configuration, in +/etc/apache2/mods-enabled/mpm_prefork.conf the maximum number of workers +is set to 150: + + MaxRequestWorkers 150 + +However, in /etc/mysql/my.cnf the maximum number of connection is set to +100: + + max_connections = 100 + +150 workers are a lot and probably too much for small servers. However you +set those values, make sure that the number of Apache workers is smaller +than the number of connections MySQL accepts, leaving some room for other +stuff on your server that might access MySQL, and Hubzilla's poller which +needs MySQL access, too. A good setting for a medium-sized hub might be to +keep MySQL's max_connections at 100 and set mpm_prefork's +MaxRequestWorkers to 70. + +Here you can read more about Apache performance tuning: +https://httpd.apache.org/docs/2.4/misc/perf-tuning.html + +There are tons of scripts to help you with fine-tuning your Apache installation. Just search with your favorite search engine 'apache fine-tuning script'. |