[OpenAFS] Heavy performance loss on gigabit ethernet

Enrico Scholz enrico.scholz@informatik.tu-chemnitz.de
Thu, 12 Aug 2004 19:16:52 +0200


rader@ginseng.hep.wisc.edu 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.
>
> You may have clients getting horriable throughput because of fast
> ethernet autonegotiation problems.  Check this with "iperf".


Thx, I did some measurements with this tool in the following
environment:

   [  machine A ]       [ 3Com 4900 ]     [machine B]
   [   1000Mbs  ]-------[  Gigabit  ]-----[ 1000Mbs ]
   [(fileserver)]       [  switch   ]
                              |
                              |
                       [ 1000Mbs port ]
                       [  3Com 4200   ]
                       [  100Mbs port ]
                              |
                              |
                        [ machine C  ]
                        [   100Mbs   ]
                        [(AFS client)]
and get:


The setup of the iperf-servers:
| [ensc@B]$ iperf -su -b 1000M   # -b does not seem to be honored in '-s' mode
| [ensc@C]$ iperf -su -b  100M


Now, the test between the both 1000Mb/s machines:
| [ensc@A]$ iperf -c B -b 1000M -ud
| [ ID] Interval       Transfer     Bandwidth
| [  5]  0.0-10.0 sec   399 MBytes   334 Mbits/sec
| [  3]  0.0-10.0 sec   409 MBytes   343 Mbits/sec  0.031 ms 182132/473950 (38%)
| [  5] Server Report:
| [  5]  0.0-10.0 sec   399 MBytes   334 Mbits/sec  0.090 ms   17/284323 (0.006%)
| [  5] Sent 284323 datagrams

Ok, that's not the full gigabit speed but it might be caused by the
system which got a CPU load of 60-70%.


Now, the test between 1000Mb/s and 100Mb/s machines:
| [ensc@A]$ iperf -c C -b 1000M -ud
| [ ID] Interval       Transfer     Bandwidth
| [  4]  0.0-10.0 sec   622 MBytes   522 Mbits/sec
| [  3]  0.0-10.0 sec   114 MBytes  95.6 Mbits/sec  0.297 ms    0/81287 (0%)
| [  4] Server Report:
| [  4]  0.0-10.2 sec   114 MBytes  93.5 Mbits/sec  15.142 ms 362232/443628 (82%)
| [  4] Sent 443628 datagrams

This is expected: server A sends with full gigabit-speed and lots of
UDP packages will be dropped as client is 100Mb/s only. Therefore, the
network itself seems to be ok.

As this test corresponds to the slow AFS performance (fileserver A sends
large file to client C), something must be wrong with AFS.




Enrico