aboutsummaryrefslogtreecommitdiff
path: root/gitweb/README
diff options
context:
space:
mode:
authorJohn 'Warthog9' Hawley <warthog9@kernel.org>2010-01-30 23:30:39 +0100
committerJunio C Hamano <gitster@pobox.com>2010-01-30 15:53:50 -0800
commitb62a1a98bc65f52d972a3f403c5b29d6a84642fd (patch)
tree0568d98fc40a6ffff027ca79995aa6f3a4327440 /gitweb/README
parent745a2db409c3b8346f28f6b2f1961b19051430f5 (diff)
downloadgit-b62a1a98bc65f52d972a3f403c5b29d6a84642fd.tar.gz
git-b62a1a98bc65f52d972a3f403c5b29d6a84642fd.tar.xz
gitweb: Load checking
This changes slightly the behavior of gitweb, so that it verifies that the box isn't inundated with before attempting to serve gitweb. If the box is overloaded, it basically returns a 503 Server Unavailable until the load falls below the defined threshold. This helps dramatically if you have a box that's I/O bound, reaches a certain load and you don't want gitweb, the I/O hog that it is, increasing the pain the server is already undergoing. This behavior is controlled by $maxload configuration variable. Default is a load of 300, which for most cases should never be hit. Unset it (set it to undefined value, i.e. undef) to turn off checking. Currently it requires that '/proc/loadavg' file exists, otherwise the load check is bypassed (load is taken to be 0). So platforms that do not implement '/proc/loadavg' currently cannot use this feature (provisions are included for additional checks to be added by others). There is simple test in t/t9501-gitweb-standalone-http-status.sh to check that it correctly returns "503 Service Unavailable" if load is too high, and also if there are any Perl warnings or errors. Signed-off-by: John 'Warthog9' Hawley <warthog9@kernel.org> Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'gitweb/README')
-rw-r--r--gitweb/README7
1 files changed, 6 insertions, 1 deletions
diff --git a/gitweb/README b/gitweb/README
index e34ee793e..6c2c8e125 100644
--- a/gitweb/README
+++ b/gitweb/README
@@ -174,7 +174,7 @@ not include variables usually directly set during build):
Base URL for relative URLs in pages generated by gitweb,
(e.g. $logo, $favicon, @stylesheets if they are relative URLs),
needed and used only for URLs with nonempty PATH_INFO via
- <base href="$base_url>. Usually gitweb sets its value correctly,
+ <base href="$base_url">. Usually gitweb sets its value correctly,
and there is no need to set this variable, e.g. to $my_uri or "/".
* $home_link
Target of the home link on top of all pages (the first part of view
@@ -228,6 +228,11 @@ not include variables usually directly set during build):
repositories from launching cross-site scripting (XSS) attacks. Set this
to true if you don't trust the content of your repositories. The default
is false.
+ * $maxload
+ Used to set the maximum load that we will still respond to gitweb queries.
+ If server load exceed this value then return "503 Service Unavaliable" error.
+ Server load is taken to be 0 if gitweb cannot determine its value. Set it to
+ undefined value to turn it off. The default is 300.
Projects list file format