Benchmarking the SheevaPlug on NFS performance

So my SheevaPlug was up and running for months and the disc connected to the USB port is fed with my audio and video collection. As written in my previous blog post, last weekend my plug died, as the PSU went up in smoke. I hope this is only due to the PSU and a new one is already in the mail. Hopefully, the Sheevaplug will be up and running again by next weekend.

Meanwhile I found this unfinished blog post on performance measurement back from spring. It is incomplete as there are no measurements on local and network speed but I guess it is worthwhile sending it out into the net when keeping those three drawbacks in mind.

So, while the handling (i.e. mostly meaning copying files) ‚feels‘ quite ok over my new all-GigaBit network setup, where both my laptop, which has a Realtek Gigabit Ethernet controller, and the SheevaPlug are connected to a TP-LINK 5 Port
Gigabit Switch.

Now, I am curious where I am located in the NAS-speed-charts and so some hard numbers are needed.

First I checked if somebody else already did some performance evaluation of the SheevaPlug. The only source I found is Kenny’s Wiki-entry, the collective results of his performance tests on the SheevaPlug.

After I did the measurements I also located Christoph Handel’s Benchmark but he has a slightly different setup with a newer kernel version involved.

So what I tried to do back then on my Plug is to verify the NFS performance with what Kenny measured. But let’s have some technical details first:

My SheevaPlug at the time of testing runs

  • 2.6.30-2-kirkwood #1 Sun Sep 27 22:57:55 UTC 2009 armv5tel GNU/Linux
  • nfs-kernel-server Debian
    Package at version 1:1.2.0-4.1
  • NFS Protocol Version 4 is used

A file is created of exactly the size that Kenny used in his tests with dd if=/dev/zero of=bigfile bs=10 count=109512817 and the time is measured for copying back and forth between a client and the SheevaPlug.

Here are the results wrapped up in a similar table to Kenny’s with my measurements filled in:

op 1st 2nd 3rd avg throughput
From Sheeva Plug to computer 88.094 sec 75.009 sec 73.397 sec 78.833 sec 13.892 MBytes/sec
From computer to Sheeva Plug 85.451 sec 74.585 sec 76.727 sec 78.921 sec 13.876 MBytes/sec

The SheevaPlug is running between 40% and 60% CPU load (nfsd) during the cp operation.

So my measurements are quite inline with Kenny’s. Just CPU usage is much lower than measured under his trials.

When comparing this to the GigaBit Ethernet File Copy write performance NAS Charts over at SmallNetBuilder, performance doesn’t look too good for the SheevaPlug. Furthermore, Christoph’s speed tests suggest that you can at least have 10 MB/s more both in up- and downlink via NFS.

I’m just wondering what the limiting factor is here. USB 2.0 bandwidth shouldn’t be the problem and it seems that the Kirkwood CPU as well has not reached it’s limit yet.

I guess I have to repeat my measurements once the Plug is up and running again. But if anybody
has a clue why NFS is so slow, go ahead, point it out in the comment section.

2 Gedanken zu „Benchmarking the SheevaPlug on NFS performance

  1. If you really used bs=10 count=109512817
    then i wonder if the CPU usage will be
    lower when you swap these numbers :
    count=10 bs=109512817
    or at least use a BlockSize (bs) of something like 65536.

    I’m not sure, but a handling many small blocks could
    cause somewhat higher CPU usage…


  2. @Klaas: This was not the actual benchmark. I just documented how I created the test file that I later moved between SheevaPlug and Notebook. So it doesn‘
    t really matter how much CPU load the file creation caused.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.