On 08.03.2011 15:01, Stefan Sperling wrote:
On Tue, Mar 08, 2011 at 01:46:23PM +0000, Philip Martin wrote:
stef...@apache.org writes:

Author: stefan2
Date: Mon Mar  7 22:57:04 2011
New Revision: 1079008

URL: http://svn.apache.org/viewvc?rev=1079008&view=rev
Log:
Set FSFS cache default size to 16 MB. This is the same default as
for everybody else, namely the server processes. Thus, it should
be reasonable value on the same machines.
16MB may be "reasonable" for normal usage but it still has a significant
effect on the testsuite.  The testsuite is an unusual access pattern, it
runs thousands of commands on small repositories.  Using a 1MB cache I
can run the testsuite for ra_local/FSFS in 10m15s, with 16MB cache that
increases to 12m30s, a 20% increase.  There is a similar increase when
testing ra_svn/FSFS using the default Linux svnserve (a threaded
svnserve has a shared cache so isn't affected).

svnserve and svnadmin both have a -M option, was there any discussion
about using a single letter option for this feature?  This could be used
by the testuite to restrict the cache size, but for ra_local/FSFS
testing there is no way to restrict the svn client.
Shouldn't the cache be off by default?
In http://svn.haxx.se/dev/archive-2011-01/0468.shtml,
it was suggested that we should keep it enabled for
the time being to weed out the issues that we may
find asap.

So, I would suggest to keep the code active to an
early beta stage to maximize exposure and then to
make -M0 the default for the release.
We have precedence for other features like this that are strictly opt-in,
e.g. memcached support in FSFS.  I don't think we should assume that the
new cache code is perfect and enable it by default on any repository for
any 1.7 server. The feature has not had any exposure in the real world yet.
memcached is slightly different here as it requires
some per-repository configuration to find the servers.
I usually can't work out of the box (unless you assume
a cache server being running on localhost).
So I think it would be better if the cache was off by default, and must be
enabled in a configuration file. I suppose svnserve and mod_dav_svn
configuration files would be the best location for this, because the
purpose of the cache seems to be to speed up server operation.
An 'svn' process has a short lifetime so the benefit of this cache
seems dubious in that situation. I don't see any reason to even provide
a way to turn it on there.
"svn praise" over ra_local may be the only operation
that actually benefits from fulltext or txdelta caching.
Everything else gets cached anyways.

-- Stefan^2.

Reply via email to