[OpenAFS] Heavy performance loss on gigabit ethernet

Enrico Scholz enrico.scholz@informatik.tu-chemnitz.de
Thu, 19 Aug 2004 00:38:24 +0200


enrico.scholz@informatik.tu-chemnitz.de (Enrico Scholz) writes:

> we are using OpenAFS 1.2.11 in an environment where the fileserver has
> a 1000Mb/s ethernet interface and the clients 100Mb/s ones. With this
> setup we get really poor client-performance on large files; e.g. a 40
> MB sized file needs nearly 4 minutes for the transfer.

Ok, based on other messages in this list I traced the network traffic
both on client and server. The used command was 'tcpdump -nn -vv -s
20000 <host>'. While transfering a 3MB sized file -- which toke 17
seconds --, I got the results which are available at

                  http://www.tu-chemnitz.de/~ensc/afs/

'data-client' means the traffic seen on the client, 'data-server' this
on the server.

As you can see, some datagrams of jumbo-packet #58307 get lost (probably
an expected 1000Mbs -> 100Mbs effect). Then, after packet #58312 a see a
0.35 seconds delay and the transport continues.

This lossage and delay repeats after 12-16 jumbo-packets which explains
the bad performance.


So the problem seems to be caused by the switches which do not understand
jumbo-frames. But: what can I do beside reducing the server-speed to
100Mbs? I use already '-nojumbo' for the server-processes, but this does
not have an effect (see the tcpdump above which shows 'jumbograms'):

| # ps axf
|  1488 ?        S      0:03 /usr/afs/bin/bosserver
|  1495 ?        S      0:00  \_ /usr/afs/bin/ptserver
|  1496 ?        S      0:00  \_ /usr/afs/bin/vlserver -nojumbo
|  1497 ?        S      0:00  \_ /usr/afs/bin/upserver -crypt /usr/afs/etc -clear /usr/afs/bin
|  1501 ?        S      0:00  \_ /usr/afs/bin/buserver
|  1671 ?        S<     0:00  \_ /usr/afs/bin/fileserver -nojumbo -L
|  1672 ?        S      0:02  \_ /usr/afs/bin/volserver




Enrico