[OpenAFS] Speed tests on our AFS Cell

Horst Birthelmer horst@riback.net
Wed, 13 Apr 2005 14:34:44 +0200


On Apr 13, 2005, at 1:53 PM, Lars Schimmer wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi!
>
> Another try to optimize our speed in ou AFS Cell.
>
> Setup is:
> 1. databaseserver with 1.3.79 and MIT kerberos5
> 2. Fileserver with 1.3.81-3 and SATA HD and Athlon XP 2000+
> 3. Client with 1.3.81-3 PATA HD and Athlon XP 2000+
> DiskCache on both.
>
> Fileserver is OpenAFS only, so no other jobs on it.
> Client is Desktop machine with some other load (XMMS, Firefox, 
> Thunderbird,
> XChat, Konquerer).
> Both are Debian sarge, server is 2.6.11 kernel, client is 2.4.27 
> kernel.
> Both are 3com cards set to 100Mbit FD, and FTP from one to another 
> shows line
> speed with >10 MB/sec.
>
> Some simple tests I made:
> Copy 51 Mb from client to server:
> real    0m10.180s
> user    0m0.000s
> sys     0m3.720s
> ~ (roughly 5 MB/Sec)
>
> Without flushing the cache, it can read it back in .5 sec (hence, the 
> local cahce).
> But after a fs flush and a fs flushmount the time doesn't change, so 
> there's
> something strange ;-)
>
> Now unrar a 500 MB file from 35 .rarXX files into AFS is nice, to.
> With some "simple" traffic graph like gkrellm, it shows 6-8 MB/Sec, 
> nice and
> fast. But the traffic isn't a contineous line, it burst for some 50-60 
> MB at
> that rate, fall down to nearly 0, wait some sec and burst again at 
> high rate.
> I assume that's the cache to be filled again.
> Read back that 500 MB File to another dir on client shows a rate of 
> 7-8.5
> MB/sec, constant, without bursts.
> Time rate of that shows:
> real    1m22.886s
> user    0m0.060s
> sys     0m4.880s
> Size: 561619968 Byte
>
> Now something different:
> copy that 5xx MB file from fileserver 1 to another fileserver with 
> time cp path1
> path2. But why does the client has traffic over the line? Doesn't AFS 
> sync that
> kind of traffic direct from server to server?
> Anyone?

That doesn't have much to do with the fact that one of those is a 
fileserver.
You're using that fileservers as client (I presume from your statement).
What you're doing is copy data form the fileserver into your client 
cache and write it to that other fileserver.
Here your client configuration comes in. Did you use the same 
'optimization' on that client as you did on your other systems?

Besides, I have no idea what you mean by syncing.

>
> Readrate is pulsed, write rate is pulsed. It first reads at 8 MB/Sec, 
> than write
> at 4-5 MB/sec, reads, write, and so on and so on.
> Fileserver 2 is a debian sarge with 1.3.79, PATA PCI controller, 
> 100Mbit and a
> dual PIII at 500 Mhz.
> Strange that write rate differs so much (3-4 MB/Sec), later if I 
> update that AFS
> Version, I can tell if it's the AFS version or the CPU.
> Time rate for that copy:
> real    3m46.267s
> user    0m0.020s
> sys     0m47.830s
>
> Read from Fileserver2 the 5xx MB file gives constant rates at 4 MB/sec 
> roughly.
> Time data:
> real    2m25.141s
> user    0m0.050s
> sys     0m4.760s
>
> So I may tell you: speed of fileserver 1 is OK, fileserver 2 not. 
> Although
> better than 1-2 MB/sec we had before some changes here.
>
> Another question I've got is about cache-size:
> I read somewhere to set cache size to roughly 1 GB on disk cache. Is 
> it a real
> nice one to set such a big cache at normal work or is it more like a 
> showstopper
> and 50-100 MB Cache is better?
>

That depends.
Keep in mind that your cache is used by all the users of that 
workstation and that AFS doesn't refetch unchanged data.

All those numbers wherever you read them should have been written as 
guidance not as absolute mandatory values.
That would render the configurabilty completely useless. ;-)

It really depends on the number of users on that system and what your 
users usually do.

Horst