What's new

How To Build a Really Fast NAS - Part 3: Windows Home Server

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

Dennis Wood

Senior Member
Tim, what you've found is pretty much what we've seen based on a few weeks of testing various configurations.

It goes something like this:

1. PCI NIC limit: PCI connected NICs limited the machines regardless of OS. The best read/write rates we measured here on our 5.3GB file set were in the 40MB/s area.

2. SMB vs SMB2: Going from XP to Vista SP1 was required before we started pushing single drive limits, either to/from the NAS units, or between workstations. In Vista, drive indexing from the search feature and a host of other features affected results unless the services were turned off, or the machine left to itself for an hour or two. With XP running, the best gigabit rates we saw (between two RAID0 workstations) was an average of 58MB/s. This jumped to 93MB/s with Vista SP1 upgrade installed. We did not test pre SP1 Vista otherwise, but on 3 different workstations, performance improved a great deal over XP (unlike your results). All three have C2D processors at 2.3 to 2.7 Ghz and 2GB of RAM.

3. Gigabit max transfer rates: Once that was taken care of, we were able to hit our max of 103MB/s average transfer rates (again over a 5.3 GB file set read/write) but that was between one of the Vista SP1 workstations and the TS509 in RAID0 with 5 drives. Iozone reported over 120MB/s up until the NAS ran out of cache.

The one thing that I would suggest is running the iozone tests using the parameter 2G instead of reducing the workstation RAM. This gives a much more accurate view of the NAS performance (particularly the TS509) which in my opinion is misrepresented somewhat by the manufacturer's tests of a 1GB file. Yes, the single drive and raid0 figures are great, but using RAID5 (which most users will want I suspect) and assuming files over 1GB, the writes are positively slow. The Intel box and the Qnap box look very similar testing with iozone at 1GB, but very different as you go to 2GB. This is reflected in our measured tests with the Intel SS4200 box sustaining large file writes at nearly 3 times faster than the TS509...and that's using Vista. One thing that helps to see the cache effect is Vista's copy dialogue that indicates the current transfer rate. You can copy a 2GB file over to the TS509 and see it blast along until about 750MB (assuming again a RAID array on the test workstation to deliver a 120MB/s or better data rate) and then watch the calculated rate drop as the NAS's "real" performance is reached.

One thing I haven't posted up yet is the load testing with multiple clients, link aggregation, teamed dual gigabit and all that sort of fun stuff. The results were interesting. Btw, this: http://kb.ciprico.com/lore/article.php?id=268 is worth a go to test your hard disk read and write rates...it works well under Vista and is free..unlike the HDTach version that tests writes.

Looking forward to the balance of this series Tim :)
 
Last edited:
Re: Point #2: As RogerBinns has noted and I mentioned in the article. I would not characterize this as SMB vs. SMB2. I would say it is more XP vs. Vista.

I have reduced the iozone machine to 512MB and increased testing to 2 GB. I might increase further to 4 GB.

I have done some iozone runs that I didn't publish using 2 threads and also the random read/write option (-i 2). What I found was throughput was split between the two threads (did not increase) and that random write performance really falls off even before cache is exceeded.
 
Great Tim. I missed the 2G thing. It's great that you're making the effort to tap the knowledge base here to fine tune your testing. Hopefully it'll also help the NAS manufacturers improve their products as they see how they fare with the very large test group you've got here. It's very hard to find accurate real world information anywhere else.

Interestingly, my beef with pre SP1 Vista was it's incredibly pokey performance with Esata but we never looked at the gigabit ethernet speeds. I've been staying clear of Vista (like many IT folks like me) until Microsoft got to at least the SP1 level which has addressed the major issues we were seeing with it. It's not often I see a performance difference this large in the industry provided strictly by software, so I have to take my hat off to the programmers (SMB2 or otherwise) who managed this.
 
Last edited:
Really interesting ...
I really like your article.


One question regarding your conclusion ...

"1) If you're using only one drive in your NAS, its performance is going to ultimately determine your maximum read performance. And for today's 7200 RPM SATA drives, that's going to be around 70 MB/s."

Does it means this determine the maximum read performance for your NAS ... even with more disks and other raid config ???

If I remember well , raid 1 or 0 should give better results .... Why to do a conclusion on only one disk ?

Kind regards.

Js
 
If I remember well , raid 1 or 0 should give better results .... Why to do a conclusion on only one disk ?
That is for a single drive, as noted.
I noted the conclusion because it is an important thing to know and not everyone needs multi-drive NASes. It also highlights a performance limitation of Windows Home Server.
 
Hi Tim,
the article is very interesting, keep up the good work!
Just wondering if you knew what the overhead was for TCP/IP (if any) and SMB? On large transfers does SMB create a raw date pipe between 2 computers? Is there any error correction going on? Because of this i doubt over a sustained period you will ever reach theoretical limit of gibabit xfer. Also do you speak to the hardware manufacturers or driver developers regarding the results? They must have some insight into bottlenecks, as I'm sure they would want their products shown in the best light...

Cheers,
Tim
 
That subject is way too complex for mere mortals like me.
You can get some insight into the subject via Mark Russinovich's blog post.

Thanks for the answer, indeed its more complicated than I thought.
BTW it would be great if you could look at implementing iScsi in a small network as well. It is supported by both Windows (http://www.microsoft.com/windowsserver2003/technologies/storage/iscsi/default.mspx) and Linux (FreeNas). This seems like the fastest solution for any network, apart from fibre channel which is not affordable...
Cheers,
Tim
 
Another great article Tim.

I love how it's shaping up with your very methodical stepwise approach. I can't wait to see what happens once you throw Raid into the mix. I think i remember reading you mentioning including runs with Linux at some point as well. I hope i remember that correctly, as I'd like to see how Linux's performance compares to Vista (I'm still avoiding vista at this point).

Keep up the great work.

Rodney
 

Latest threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top