[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