Thanks for the details, but it's also not news to us.  :-)

We're not running a stock subversion server.  We're running our own
subversion filesystem implementation built on top of Google's
'Bigtable' technology (http://en.wikipedia.org/wiki/BigTable) ... a
massively distributed database that runs over thousands of machines.
In a nutshell:  your requests are hitting many different apache
servers, which are then doing many network RPCs to numerous Bigtable
servers.  This is inherently *much* slower than a stock out-of-the-box
subversion server, which is thrashing a tiny BerkeleyDB database on
local disk.  In fact, on a single typical svn server, the whole local
database usually ends up being cached entirely into RAM just through
kernel filesystem caching.   When we ported this architecture to from
BerkeleyDB to Bigtable, all of these essentially "free" disk reads and
writes (costing only microseconds) have turned into network RPCs
(which cost milliseconds!).

To be clear:  when we first launched, our subversion service was
nearly 10x slower than stock subversion.  We've made numerous database
schema changes over the last two years, however, and added all sorts
of caching layers.  We're now about 2x slower than stock subversion --
a vast improvement that moves it into the realm of usability, but we
still have a long way to go.  We're still working on latency
improvements -- and specifically on improving the latency of extremely
large commits (like the ones you're attempting.)  It may be another
few months before that's ready, however.

Whatever the case, the latency is in our architecture.  The tradeoff,
of course, is that Bigtable allows us to handle hundreds of thousands
of repositories at once (with ever-increasing traffic), and we
continue scaling by just "adding more machines" to the pile.

If speed is your main goal, however, I certainly wouldn't blame you
for finding a faster subversion service.  Or if you *really* want
speed, you may want to try a distributed version control system.  :-)

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Hosting at Google Code" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-code-hosting?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to