[OpenAFS] namei/inode fileserver performance tests

Chas Williams chas@cmf.nrl.navy.mil
Thu, 21 Nov 2002 09:14:37 -0500


In message <3DDCAA06.7070808@pclella.cern.ch>,Rainer Toebbicke writes:
>For the fileserver alone fsync() doesn't make much sense (at least not at high 
>frequency, unless I misunderstand the odd Linux pthread implementation), so I 

i would guess that its a holdover from the inode based fileserver--since the
original fileserver handled everything itself i dont think it could rely on
vm/filesystem caching (also if you dont have a logging filesystem, i imagine
you would want to sync fairly often if you are concerned about losing data).
if the namei fileserver is still doing lots of fsync()'s they are probably 
no longer necessary on a logging filesystem.  this is a guess of course, my
understanding of the fileserver is bit hazy.

how about another data point?  i can improve the performance of the namei
fileserver to about the same as the inode fileserver by compiling
with -x04 (for sunpro cc this is auto inlining + basic optimization).

Version 1.02c       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
nova           256M  1742  26  1710  13  1421  12  2242  26  2297   6  21.6   4
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16    44  17   725  92    40   7    43  17   521  81    28   3

the filesystem operations (open/create/delete) didnt change but i am
not overly concerned about the speed of these operations (dont run a
newserver in afs space).  the downside to compiling -x04 is that it
managed to break bosserver (it seems to miss the last char on each
line) and possibly other things since one rarely builds openafs with
the optimizer.  gcc might get this right since it silently defaults to
-O2 but not so for other compilers.  it would be nice to have a 
validation suite (HINT HINT).