Subversion Scaling at Google
Google offers subversion based hosting on code.google.com and also uses subversion internally for some internal projects.
This talk will cover the enhancements we contributed to subversion to improve its performance and scaling for its 1.5 release, as well as best admin practices to improve performance for big repositories with many users.
It will also present our subversion wrapper: gvn, which supports proper branching, snapshots and code reviews, as well as the extensible hook infrastructure we wrote, both hosted on http://code.google.com/p/gvn/
For the review committee, the talk outline is:
- very quick explanation of how subversion works (one file per rev,
skip deltas, nfs safe)
- How we chose to implement it and do scaling
- sharded revisions
- local transactions (txn-protorevs)
- no-cto nfs tricks
- optimizing fsyncs if you have a good backed up filesystem
- The work we did with improving/fixing merge tracking is, and
explaining the current state of things
- presentation to googlecode gvn and hooks
- overview of gvn, todos
- overview of our hooks, unittests and the hook infrastructure
- password handling and userdb setup
- google svnserve improvements (logging) and SASL setup for our userdb
- benchmarking with mstone http://mstone.sourceforge.net/
Marc has been using linux since 0.99pl15f, both as a sysadmin and userland contributor.
He has worked for various tech companies in the Silicon Valley, including Network Appliance, SGI, VA Linux, Sourceforge.net, and now Google where he is both a sysadmin and engineer.
He has done hacking in various areas like mail with exim, mailman, SpamAssassin and SA-Exim, as well as IT related sysadmin infrastructure tools.
For fun, when he's not trying to beat his mythtv into submission, he goes snowboarding, mountain biking, racing cars, and flying RC or full size planes.