Subject: Re: Another bench on gitweb (also on gitweb caching)

From: Jakub Narebski <[email-masked]>
Date: Wed, 13 Feb 2008 13:17:46 +0100

On Wed, 13 Feb 2008, J.H. "Warthog9" wrote:
> Bruno Cesar Ribas <[email-masked]> writes:
>> On Mon, Feb 11, 2008 at 04:44:23PM -0800, Jakub Narebski wrote:

>>> Kernel.org even run modified version of gitweb, with some caching
>>> support; Cgit (git web interface in C) also has caching support.
>> 
>> Is this gitweb version for kernel.org available somewhere?
>> 
> 
> It's available from my git tree on kernel.org
> http://git.kernel.org/?p=git/warthog9/gitweb.git;a=summary
> 
> or
> 
> git://git.kernel.org/pub/scm/git/warthog9/gitweb.git
> 
> Mind you my performance on the non-cache state is not going to be any
> better than normal gitweb, however the performance on a cache-hit is
> orders of magnitude faster - though at a rather expensive cost - disk
> space.  There is currently something like 20G of disk being used on one
> of kernel.org's machines providing the cache (this does get flushed on
> occasion - I think) but that is providing caching for everything that
> kernel.org has in it's git trees (or 255188 unique urls currently).  My
> code base is now, horribly, out of date with respect to mainline but it
> works and it's been solid and reasonably reliable (though I do know of
> two bugs in it right now I need to track down - one with respect to a
> failure of the script - and one that is an array out of bounds error)

BTW. did you consider using cgit (C/Caching git web interface) instead
or in addition to gitweb? Freedesktop.org uses it side by side with
gitweb. I wonder how it would perform on kernel.org...

(Almost) every optimization should begin with profiling. Could you tell
us which gitweb pages are most called and perhaps which pages generate
most load for kernel.org? How new projects are added (old projects
deleted)? Do you control (can add to or can add multiplexing) to update
or post-receive hooks?

Without this data we could concentrate on things which are of no
importance. BTW. I wonder if slitting projects_list page would help...

-- 
Jakub Narebski
Poland