I set up FreeNAS on the 'ol Compaq and was actually quite impressed! File transfer speeds were palatable and browsing CIFS shares from Linux was very snappy. Streaming performance, however, left much to be desired.
Eager to try out the UPnP media server with XBMC, I set up the media server to stream some MPEGs to the Xbox. Browsing the share was great, it was automatically recognized and was very responsive (CIFS sometimes takes a while to refresh folder contents in XBMC). Unfortunately, the video playback stuttered so much it was unwatchable. I flipped over to CIFS thinking and hoping that either XBMC's UPnP client or FreeNAS's UPnP server was to blame only to be disappointed again.
I started up iozone, as per the usual test procedure to get to the bottom of these performance issues. Now, to give you an idea of how long this test takes, the Synology DS107 finished it on a 1000 Mbps LAN connection in about a hour. (The slowest NASes that have come through SmallNetBuilder finish in about three to four hours.) Twenty hours later, FreeNAS was still in the middle of the test!
It turns out that the Belkin F5D5000 Ethernet adapter I had installed in the FreeNAS test machine is supported by FreeBSD... sort of. The rl drivers that the Belkin adapter uses have some issues with the receive buffer that are pretty detrimental to performance. Now this isn't FreeNAS's fault;I have it running on a 10+ year old computer and open source hardware performance is especially driver dependent. Long story short, the BSD rl driver, although usable, has some serious performance issues.
With the speeds I was getting out of the Belkin Ethernet card, the performance charts that we've all come to know and love would have been pretty dismal. Being rich in old computer parts, I commandeered a D-Link DGE530T Gigabit Ethernet adapter and swapped it into the FreeNAS machine. The D-Link adapter uses BSD's sk driver which doesn't suffer the problems that plague the rl driver's performance.
- The FreeNAS machine was limited to UDMA 33 drive connection
- The full test setup is described here.
- The test was run from a Opteron 165 with 2Gb RAM running Windows XP SP2.
- A Synology DS107 was also tested to help establish a frame of reference to commercial NAS performance
In Figure 16, FreeNAS's write performance falls off quickly with larger file sizes. Even limited to UDMA 33, it still manages to hang on to some decent performance for small file sizes. The Synology, running a faster SATA drive on a gigabit connection, dominates the write performance.
Figure 16: 1000 Mbps LAN Write Performance
In Figure 17, read performance drops off considerably when FreeNAS starts running out of RAM at a file size around 384 MB. With smaller file sizes, FreeNAS's read performance is in the Synology's league.
Figure 17: 1000 Mbps LAN Read Performance
FreeNAS offers a great solution for anyone who has some extra hardware lying around and doesn't mind rolling up his or her sleeves a bit. Despite my hardware issues, I still would recommend FreeNAS to anyone that is looking for an easy to use, open source NAS to run on an older computer.
FreeNAS, even though it is still in Beta, has a lot of potential and is already a pretty polished NAS distro.