Performance benchmarks for the Sheeva Plug.
CPU benchmark with nbench.
USB storage throughput.
SDHC storage throughput.
Network performance.
MySQL benchmark.
Power usage.
Performance benchmarks for the Sheeva Plug.
CPU benchmark with nbench.
USB storage throughput.
SDHC storage throughput.
Network performance.
MySQL benchmark.
Power usage.
Please keep comments clean and constructive. Inappropriate comments will be removed. Thank you.
This is a very nice thing that you’ve done for prospective and current SheevaPlug owners. Hard data points to use in a comparison on such a new piece of equipment are usually hard to come by so quickly.
This is a great service to the community. Thank you.
Thanks James, glad to see you find the data useful.
Kenny, data like these are why the Internet is such a powerful research tool. You deserve a stake in Sheeva/Marvell after the buying rush based on your real world research. Many thanks.
Thanks Gene, I sure wouldn’t mind a stake in Sheeva, but I’ll settle for a permalink from their product page.
My own test of copying from Sheeva plug to my computer is a lot faster. You might want to try to change the file system prefetch algorithm to noop and tweak the smb.conf socket options. Those seem to do the job for me. I am getting around 14MB/sec to 16MB/sec from Sheeva to my computer.
When you say the file system prefetch algorithm, do you mean the I/O scheduler? That’s the only no-op option I can see in menuconfig.
Also, what do you mean by tweaking the socket options in smb.conf? Are you talking about SO_RCVBUF and SO_SNDBUF?
It is unfortunate that one or both of the 6281 SATA ports are not exposed on the plug. I’m using a different development board and using a Gbe switch, a SATA II drive and FTP I get >40 MB/sec transfers from the 6281 and >24 MB/sec transfers to the 6281 with a CPU load bewteen 30-60%.
Some numbers regarding raw TCP performance:
root@debian:~/netio126# ./netio -t 192.168.30.2
NETIO - Network Throughput Benchmark, Version 1.26
(C) 1997-2005 Kai Uwe Rommel
TCP connection established.
Packet size 1k bytes: 42085 KByte/s Tx, 68898 KByte/s Rx.
Packet size 2k bytes: 48158 KByte/s Tx, 75511 KByte/s Rx.
Packet size 4k bytes: 61854 KByte/s Tx, 79384 KByte/s Rx.
Packet size 8k bytes: 77778 KByte/s Tx, 82639 KByte/s Rx.
Packet size 16k bytes: 90282 KByte/s Tx, 86545 KByte/s Rx.
Packet size 32k bytes: 92418 KByte/s Tx, 90105 KByte/s Rx.
Done.
(100% CPU load)
Great article - does anyone have unrar benchmarks? I’m considering replacing my Buffalo LSPro, but I’m not sure if the lack of floating point will hurt the main use i’d have for it. (Unrar’ing usenet downloads)
Thanks!
unrar uses floating point?!? I can’t see why they would need floating point to do decompression.
I’ve used unrar (and pan) successfully on the sheevaplug. I’ll run some benchmarks on it if there is a standard benchmark tool for unrar.
I seem to recall seeing some new network performance figures posted that were much better than those listed here, but I can’t for the life of me find the information now.
I think the author had to update to a 2.6.30 (or maybe greater) kernel in order to get better performance.
Does anyone recall where this information was posted? I’d like to re-read it to make sure I’m not imagining things and it would be good to link the info here to it.
Guys,
The stats sound fine - looking for a mini server of sorts and a low cost thin client.
Has anyone attempted a USB Video screen on the unit? If so was there a response.
Having not invested yet and collecting info currently is the 512MB of storage upgradeable onboard bu SD ram or is it a case of using the USB ports.
some help here is appreciated
scologic - yes, someone did get a usbvideo working and running the sheevaplug like a regular desktop.
http://plugcomputer.org/plugforum/index.php?PHPSESSID=1fa367859a1fbfd715c018f9dbb20d21&topic=412.0
I currently have an unSLUng NSLU2 serving as SSH/SCP, pyTivo (video/audio/photo), and light web/FTP/VPN use server and am thinking a Sheevaplug or Popoplug might be a good, more powerful, replacement for it.
But I have a few questions - hopefully they’re appropriate for this page:
- Consider scologic’s USB Video Screen question re-iterated.
- Will this work with a USB WiFi adapter?
- Is it true that one can add multiple drives using a USB hub?
- Assuming above responses are positive, once a hub is on, could one plug in a drive, WiFi adapter, USB screen, USB Keyboard and USB mouse? (Not that I want to do that, I’m just curious.)
- The 512M flash is on-board and I assume this is where the core OS is kept. Is this correct?
- If the Linux install is > 512M, where does it ‘overflow’ to - the USB drive and/or the SD card?
- Does the SD card show as a drive (so with both SD and USB plugged in two drives are detected)?
- Can this be used to host a ‘full’ Linux install such that FreeNX or VNC could be used to ‘remote’ into it?
Thanks for all your hard work on this!
JonMikelV -
usbvideo works, I provide a link to the openplugs forum on my eailier post
usb wifi works just fine, pretty much any usb wifi that works on a linux desktop will work here. Check http://computingplugs.com/index.php/Setting_up_a_wireless_USB_dongle for specifics
Make sure your usb hub is powered, usb harddrive burns a lot of power
Again you’re limited to the amount of power. An unpower usb hub is limited to 100ma per device. A powered usb hub provides 500ma. So if you’re going to go overboard with usb devices, make sure you get a good powered hub
The unit ships with 512MB flash that holds the kernel and root filesystem. I have since moved both kernel and root filesystem to an external usb harddrive (300G). I don’t even touch the flash anymore.
If you’re going to go with an external usb drive, then there is no point to use the flash at all. Its only 512MB after all
Both the SD and usb will appear as an entry point in /dev.
I have instructions to install X11, vnc and NX on the sheevaplug. The link to both is available on the main page
Greg - I’m waiting for the right time to update to 2.6.30. I have the thing running for over 50 days and I kind of want to see if the SheevaPlug will crash on its own.
btw, uptime information for my sheevaplug is at http://computingplugs.com/index.php/SheevaPlug_Real_time_Statistics
Has anyone tried porting Android to the Sheeva Plug
You mean Andriod OS for mobile devices? I doubt it.
Using a Sheevplug with Kernel 2.6.31rc5 i got the following results using dd, netcat and NFS
Test To From
—————————————–
Local I/O 809.0 MB/s 809.0 MB/s
Local Disk 31.0 MB/s 32.9 MB/s
Wirespeed 83.0 MB/s 38.3 MB/s
Network Disk 31.0 MB/s 26.7 MB/s
NFS Disk 24.0 MB/s 21.2 MB/s
Thanks for the update. I’ll probably upgrade my kernel soon to take advantage of the speed increase.
Which filesystem would be recommended for an SDHC on the Sheeva Plug? - I’m hosting a web site with mostly static content….
I tend to not get too fancy with my filesystem so I’m using plain old ext3. However, for my desktop Ubuntu I’ve notice a significant performance improvement when I switch from ext3 to ext4. So if you’re going to do a fresh install on the sheevaplug, you might want to give ext4 a try and see how that goes.
BTW, I’m probably going to switch kernels to 2.6.30 soon, but I want to put a marker here that my sheevaplug, running this website, has been going non-stop for 80+ days! That’s sheevaplug and external WD passport harddrive powered ONLY by the sheeva.
Im a little bit disappointed about the nfs performance of my sheeva with stock kernel (around 10MB). Does anyone knows where to get a new 2.6.31rc kernel image, so I dont have to compile it for myself?
There was a guy on the openplug.org forum that provided kernel images for the sheeva plug. I’m pretty sure you can find links to it there.
Thanks for the tip, I’ve changed the wiki to include the library.
Anybody tried running X.org on sheeva? I would be interested in the real world performance. 5 W thin client is a nice objective.
X works just fine with both vnc and nx. I have links on the front page that describes how to install them. As far as performance, it runs firefox and wget fine.
Hi, I’m compiling my own kernel. I am desperately looking for the patch that improved your SDHC throughput. The orion latest kernel still has abysmal performance for me. Thanks!
Astro, you can pick up the SDHC patch here:
http://computingplugs.com/index.php/Fixing_SDHC_access_in_the_Orion/Mainline_kernel
Has anyone tried any throughput tests using Jumbo Frames on gigabit ethernet? I have a Debian Lenny-powered Buffalo Linkstation Live v2, and saw a SIGNIFICANT throughput boost when using Jumbo Frames (9000 MTU). Like, from 11 MB/sec. to 20 MB/sec.! I’m curious as to what this box is capable of, with it’s significantly higher-speed CPU.
The asymmetric performance is due to the SheevaPlug not having DMA. Thus operations that involve the harddisk result in the CPU spending much of its capacity on waiting (see vmstat for this).
Therefore, reading files from hdd (not from cache in RAM, though) and sending them over network won’t be fast. Same happens when MySQL hits hdd for seeking when you, e.g., run a PHP script. Even with Nginx the response times will be poor.
Best you can do is use eaccelerator saving intermediate compilates on ramdisk (/dev/shm) and turning swapping almost off (sysctl vm.swappiness=5 or even 0; the former is default on the kernel I provide).
In other words, the figures of this benchmark don’t reflect practize.
Practice, sorry. I must add I don’t know whether the OpenRD board with its SATA has DMA or not.
The Sheeva on the plug (and OpenRD) has DMA that can be used for SATA. It also supports port multiplying.
Hi, again many thx for your stuff.
I am struggling with ntfs-3g performance with samba, write performance is very bad on the sheevaplug, lots of cpu usage.
I did make a 100GB ext3 partition on my USB drive (1TB WD book sata external) to repat some of you tests.
Using samba and ext3 partition, Read and write thru-put was the just over 20MB/s both ways reading and writing a 1GB file, much better than you got, I have a 1Gb ethernet to and from a winXP sP2 laptop.
I am running kernel 2.6.31.5 from a Class 6 SD card and samba 3.3.2
Cheers
I’ve heard reports similar to yours smiler. I’m pretty certain that the newer 2.6.31 kernels fixed something that makes samba faster. I really should upgrade my kernel to take advantage of that. I’m still running 2.6.30-rc3!
The samba speedup could also be caused by the XOR engine. I don’t remember when it went in; but, at some point Marvell put in code to use the Sheeva’s XOR engine’s DMA to transfer data to/from user/kernel mode. This caused a dramatic speedup for everything that uses kernel interfaces backed by software or hardware that doesn’t have a DMA engine.
As for ntfs-3g, I could never get good performance from this fuse-based filesystem. Even using a SATA attached drive. I saw the same high CPU usage and had to move on (finish the project) before figuring out exactly what the problem was. We ended up using ext3 instead.
Hi Kenny,
I reckon a very good idea will be to compare it with an mini-itx Atom board (like the ones from http://www.mini-itx.com/store/?c=47) to see what is the trade in power/performance from Atom to ARM.
Thank you,
Radu
yeah, I would love to do some comparision with an atom board. Unfortunately getting one with similar specs is hard to do. For example, I can’t find one without video.
Thanks for the SDHC test and link to the patch. This is a really helpful site. I’m waiting for my SheevaPlug which should be arriving any day now!
Hey, can you run “hdparm -tT” on the USB hard-disk? i am curious about this.
And about the NFS benchmark, can you tell me if you used UDP or TCP? Also what was the rsize and wsize?
I am willing to by one of these, but i need a decent NFS performance over the usb hard-disk, as i am thinking to buy a 1.5T disk =)
here are the results from hdparm:
/dev/sda:
Timing cached reads: 398 MB in 2.01 seconds = 198.49 MB/sec
Timing buffered disk reads: 74 MB in 3.03 seconds = 24.41 MB/sec
I didn’t make any changes to nfs, so everything is default.
What gcc options are people using for optimal performance?
I’m using:
CFLAGS=’-Os -mthumb-interwork -mthumb -mcpu=arm9e’
when I want small footprint binaries, although I haven’t spent much time in optimizing. Obviously, there is a space/performance tradeoff.
I would like to see a performance test for the eSATA port on the Black SheevaPlug, if that’s possible. How does it compare to the USB/external HDD performance?
Thanks.
I’ve run the nbench benchmark on my Intel Atom based linux system. The system includes the Intel D945GCLF2 Atom 330 motherboard with 2 GiB of RAM, a Western Digital WD5001AALS 500 GB, 7200 RPM SATA hard drive, Samsung SH-S223B DVD burner and Seasonic SS-300ET power supply housed in a Lian Li PC-Q07 case. I’m running Ubuntu 9.10 linux, 2.6.31-9 kernal with libc-2.10.1. The results were as follows (quoting only the “linux data” for brevity):
MEMORY INDEX: 6.975
INTEGER INDEx: 8.757
FLOATING-POINT INDEX: 8.090
Since the Atom 330 is dual core, I ran two instances simulaneously with the following results (total of results from two instances):
MEMORY INDEX: 13.919
INTEGER INDEx: 17.508
FLOATING-POINT INDEX: 16.183
And finally since the Atom 330 supports hyperthreading with 2 theads per core, I ran four instances simultaneously with the following results (total of results from four instances):
MEMORY INDEX: 19.064
INTEGER INDEx: 25.505
FLOATING-POINT INDEX: 27.565
The results Kenny obtained with the SheevaPlug were:
MEMORY INDEX: 3.317
INTEGER INDEx: 4.549
FLOATING-POINT INDEX: 0.358
I also ran the disk throughput test Kenny described above. The average results of 3 tests writing and reading 1024000000 bytes using were:
write: 85.6 MB/s
read: 92.2 MB/s
The results Kenny obtained with his USB hard drive were:
write: 27.3 MB/s
read: 28.3 MB/s
The system cost a little over $300, not bad when you consider a SheevaPlug and 500 GB USB hard drive would cost $190 or so. Total power consumption is 40 watts.
Jodie, thank you for the work on getting numbers from your atom rig. I’m sure it’ll help a lot of people.
Those are impressive numbers, especially for price. I’ve always said that you can’t make the SheevaPlug do what it is not designed to do. And if your computing needs exceeds that of the SheevaPlug, then there are many other alternatives to use. For me, however, the SheevaPlug is at the perfect balance of power and performance.
Thanks for the benchmark, quite interesting to find out that the processor is quite bad with floating points compared to Intel ones.
after the sheevaplug fried the internal PSU i hooked up an external supply and measured consumption on the secondary (5V) side.
idle with SD Card: 0.35A
+ connected ethernet: 0.4A
+ dd of /dev/zero outbound via netcat: 0.6A
+ same with /dev/urandom: 0.75A
+ connecting unpowered USB Hub: 0.85A
fragfutter, thanks for the numbers. I like the idea that you simply replace your broken PSU with an external supply. That’s a great idea, I’m going to have to remember than when my PSU breaks.
Very nice information. Thank You
You’re relying too much on other machines and hardware for testing.
NC or BBCP would work much better for network. Remember read from /dev/zero and write to /dev/null. Therefore you eliminate hardware bottlenecks such as the hard drive. Also the top end for a 100 Megabit connection is 12.5MegaBYTE. A good performance for that would be considered >87% of theoretical.
You also do not perform benchmarks on the SSD and such on other machines. We are also unsure if the card is having to read data off before writing due to how flash memory works.
All in all it’s an OK overview but is limited in execution.
I chose scp, nfs and samba because those are functions used in the real world. I don’t know about you, but I don’t usually sit at my computing running NC and BBCP all day. Also the sheevaplug has a gigabit connection. That’s 1000Mbps, not 100Mbps.
If you have a spare SSD you want to send my way, I’ll be glad to run a benchmark on that.
Anyone have unraring benchmarks?
No proper benchmarks here but I’m using Sheeva with kernel 2.6.32.7, running lftp to download via TLS getting about 448kb/sec & CPU is maxing out.
I have it hooked up to eSATA & I used it to unrar a lot…might post performance later on.