On Thu, Mar 22, 2012 at 15:24, Bob Archer <bob.arc...@amsi.com> wrote: >> Joel Eidsath wrote on Thu, Mar 22, 2012 at 09:11:48 -0700: >> > I was just handed a large SVN install with thousands of users and >> > hundreds of individual repositories. It is experiencing serious >> > performance issues. I believe that it mostly boils down to a 14MB >> > AuthzSVNAccessFile. >> > >> > What can I do to speed this up? Is there a database solution to use >> > instead of the flatfile? Can I implement caching somehow? I am willing >> > to code something up if I have to. >> > >> > Thanks for any help! Please CC me on any replies. >> > >> The relevant code is in libsvn_repos/authz.c. Look at the call to >> svn_repos_authz_read() in mod_authz_svn.c: the file is read and parsed once >> per connection. >> >> I guess you could cache the parsed svn_authz_t struct in a longer-lived >> pool, or >> perhaps increase the lifetime of connections (compare the configuration >> suggestions in http://subversion.apache.org/docs/release-notes/1.7#serf). >> >> The impact of this will be, of course, that changes to the authz config file >> might >> not take effect as soon as they do now. >> > > Cruise control .Net caches it's config info... however if uses a file watcher > to see if the file changes... and if so reparses it. Could svn take this > approach.
Wouldn't that depend on where the bottleneck is? If the issues is file I/O, this could help. If the issue is the time it takes to check every rule, the improvement may not be significant.