[OpenAFS-devel] tuning underlying filesystems for afs

Martin MOKREJŠ mmokrejs@ribosome.natur.cuni.cz
Thu, 14 Oct 2004 23:18:06 +0200


Horst Birthelmer wrote:
> 
> On Oct 14, 2004, at 5:50 PM, Martin MOKREJŠ wrote:
> 
>> Hi,
>>  I'm installing new afs cell and configuring huge afs server - 1TB
>> raid5 array on a dual-controller based on adapter U160. It has 6 GB RAM,
>> 2 xeon CPU's 3 GHz. It runs linux-2.4.28-pre3 kernel.
>>
>>  AFS has inode based and namei based fileservers. What is their 
>> difference
>> in terms of performance?
> 
> 
> There isn't any reason for installing an inode fileserver and Linux 
> fileservers are namei by default.
>  From now on I'm referring to namei fileservers...

OK. I was hoping inode based fileservers are faster, as they work
on the lower level ... I take it as you say.

>>  Filesystems are usually tuned for large or small files. What is the 
>> case of
>> fileserver? The /vicepX partitons are mostly filled with few small files,
>> which corresponde to volumes if I'm right. That has nothing to do with 
>> size of
>> files stored in afs volumes, I know ... but should I tune for "huge" 
>> or "small"
>> files?
>>
> 
> It has to do with the size of your files. What hasn't is your 
> directories but the files will definitely be there but not in any 
> directory you would recognize from where it is on your AFS client.
> So if you have a lot of small files ... on your fileserver will be a lot 
> of small files.
> Your volumes and files get organized by the fileserver using an 
> algorithm documented based on some hashing but I think you don't want to 
> know about it ;-)

Yes and no. ;) ReiserFS uses r5, tea and rupasov algorithms. All of them
make the filesystem fast but take cpu (sometimes completely). First of all
I'd prefer the server to be unloaded, as there will be some computational
jobs too. Under load above 2 I guess filesystem performance would suffer
under reiserfs, as the bottleneck already is cpu on an unloaded system
as seen in my tests. I believe teh cause for such a cpu cunsumption is
computation of those hashes or whatever they are. ;-)

Second, I'm not sure if it makes sense to sort files inside fileserver
and subsequently sort them within reiserfs/xfs. At least that's what I think
is happening.

>>  I expect to have several files above 1GB in afs volumes, in general more
>> huge files then small ones.
>>
>>  AFS/kernel mounts /vicepX partitions automatically? However, for 
>> example xfs offers
>> several mount options, which affect performance. How can I make 
>> advantage of
>> such options under afs?
> 
> 
> AFS doesn't do anything by itself!!
> Nobody will mount your partitions until you do that (on the server side) 
> and the parameters are in your hands as well. Tune as you want or need it.
> The fileserver on startup will just look at directories named /vicepXX. 
> That's all...
> 
>>
>>  I'm attaching my current results from bonnie++ tests. In general, xfs 
>> is fast
>> equally as reiserfs, except random operations. For random operations, 
>> reiserfs
>> is the best, them comes ext2, ext3 and xfs as the last one. At least if
>> I interpret the numbers correctly.
>>
> 
> I can't and won't interpret your decisions regarding the tuning.

That's a pitty. But thanks anyway for nice reponse! ;)
Martin