Faster Subversion Hosting for Project Hosting on Google Code
When we launched our first Subversion-on-
Bigtable service in
2006 our
goal was to scale to support hundreds of thousands of projects, with the idea that we could
continue to improve the service over time. A year ago, however, we realized that we would have
to rebuild our Subversion service to make dramatic improvements in performance. So, we did
what we had to do: we rebuilt our service from the ground up, focusing on speed and
reliability.
We are now happy to announce that we have rolled out our
new service to all our Subversion users. As a result, most common Subversion operations are
about 3 times faster than they used to be.
One of the features of
Subversion's HTTP-based protocol is that anyone can browse repositories through a normal web
browser. Many open source projects hosted on Google Code use this feature to host websites for
their project or post the latest versions of their software. We didn't anticipate how popular
this would be when we designed our first Subversion service, but our new system has special
optimizations for browser access. Latency for these pages are much lower and international
users will see a dramatic improvement. We also set the appropriate caching headers, which can
be manually controlled with the
google-cache-control
Subversion property.
To improve our reliability, our new service now
has a custom replication system based on the
Paxos algorithm. Whenever you
make a change to your repository, the new data is now copied to several different data centers
before our service reports that the commit has succeeded --- so you can code in peace knowing
that your data is stored safely in multiple locations.
If you haven’t
already, we encourage you to try out our new Subversion service and let us know what you
think.
By Jon
Trowbridge and Tony Zale, Google Project Hosting