android.git.linaro.org/gitweb causes high server load

Bug #1023800 reported by Paul Sokolovsky
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro Android Infrastructure
Fix Released
High
Paul Sokolovsky

Bug Description

There was a case of very high android.git.linaro.org load during Jelly Bean release/sync, see lp:1023151. At that time, ps ax showed lot of gitweb.cgi and gzip processes running. After gitweb was disabled as part of mentioned bug, the load subsided back to <10 figures.

gitweb is tentatively disabled until Jul 25, and this ticket is to analyze the situation and considering changes we can make to rectify the situation and enable gitweb earlier.

Changed in linaro-android-infrastructure:
status: New → Confirmed
milestone: none → 2012.07
importance: Undecided → High
Changed in linaro-android-infrastructure:
assignee: nobody → Paul Sokolovsky (pfalcon)
Revision history for this message
Paul Sokolovsky (pfalcon) wrote :

Ok, my hypothesis of what happened here is: Google for a while doesn't offer a gitweb or equivalent for AOSP code browsing. Now Google releases JellyBean. A lot of people want to get their hands on it, including "amateurs", who don't do git. Now suppose that a link(s) gets posted on somewhere like xda-developers saying "you can download JB as tarball from here" and pointing to "snapshot" download link as supported by gitweb. End result: we get DDoSed.

So, the culprit is with very high probability a "snapshot download" feature, which rather should be disabled in our install. Makes sense to look for other high-load features at the same time.

Revision history for this message
Paul Sokolovsky (pfalcon) wrote :

Docs fro gitweb:

http://repo.or.cz/w/alt-git.git?a=blob_plain;f=gitweb/README

http://support.rubyforge.org/svn/trunk/support/gitweb/gitweb.cgi (inline comments)

So, according to the them,

$feature{'snapshot'}{'default'} = [];

Needs to be set in /etc/gitweb.conf or equivalent to disable snapshots.

Other things worth turning off:

$feature{'grep'}{'default'} = [0];
$feature{'pickaxe'}{'default'} = [0];

Revision history for this message
Paul Sokolovsky (pfalcon) wrote :
Changed in linaro-android-infrastructure:
status: Confirmed → In Progress
Revision history for this message
Paul Sokolovsky (pfalcon) wrote :

gitweb was re-enabled today with config updated as described above. No signs of gitweb hogging CPU so far.

Changed in linaro-android-infrastructure:
status: In Progress → Fix Committed
Changed in linaro-android-infrastructure:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.