[OpenAFS] Re: Openafs performance with Apache/PHP

Russ Allbery rra@stanford.edu
Mon, 13 Aug 2007 16:23:33 -0700

Jason Edgecombe <jason@rampaginggeek.com> writes:

> Have you tried tinkering with the chunksize value? It's specified when
> afsd is run and tells the client how big of a chunk of each file to
> request.

He said he was using a chunksize of 20:

>>> AFSD_ARGS="-fakestat-all -chunksize 20 -volumes 400 -dcache 50000
>>> -files 200000 -stat 150000 -daemons 20"

That -daemons value is way too high and will cause a ton of context
switches, so that isn't what you want.  However, it sounded like you'd
already tried tweaking that.  See the afsd man page:

       The default number of background daemons is two, enough to service
       at least five simultaneous users of the machine. To increase the
       number, use the -daemons argument. A value greater than six is not
       generally necessary.

That's the first thing I'd reduce if you're seeing an insane number of
context switches.

Other than that, I looked at the original message and thought "oh, that's
interesting" but I didn't really have any useful feedback.  Have you seen
jhutz's document on cache tuning?  It's probably the best place to start
just to make sure that the cache values are generally reasonable and
consistent with your working set and cache size.

Certainly, if Arla is scaling, using Arla is a valid option.  I'm curious
on improving OpenAFS to match, of course, but Arla uses a considerably
different kernel architecture and I can see some theoretical reasons why
it might scale better under certain loads.

Russ Allbery (rra@stanford.edu)             <http://www.eyrie.org/~eagle/>