|
How to Choose and Benchmark a NAS
Sixty sleepless nights, overgrown stubbles, and many cups of coffee later, it's finally here-the most comprehensive guide to Network Attached Storage devices
Sunday, February 04, 2007
What we're about to tell you is something nobody has ever told you before.
Till now whenever any magazine (including us) has carried any shootouts, what's
covered are performance results of products, how the products compared against
each other, their pros, cons, etc. There's also a broad mention of the test
procedures that were followed by the various features that were compared. More
stress is given on the actual product reviews and the test results and less on
the actual tests and how they were run. But what we're going to tell you this
time is completely different. We'll let you in on the actual test procedures
and all the excitement and heartaches we've experienced; and the learning that
followed while doing this shootout. Instead of focusing on product evaluations
alone and declaring a winner, we'll focus on uncovering how we actually ran
the benchmarks on those products. And then, we'll tell you how to interpret
their results, and finally we'll reveal the results we got on the NAS boxes.
Why are we doing this you might ask?
For one, you'll be able to better understand the results we received for
the NAS boxes. Two, if you ever need to, you can run those tests on your own
storage boxes to find out their performance. And three, if you're planning to
purchase a new NAS box, then you can even ask the vendors to conduct similar
tests on their boxes and show you the results. In other words, we're
empowering you with information to help you make a much better purchase decision
now and in the future.
We've spent more than three months in testing the NAS boxes we received for
evaluation. During this phase, we learnt a lot of new things, not only about
performance, but also about features, vendor support issues, pricing models, and
much more. So presented in this story therefore, is a complete buying guide to
NAS boxes, with our personal learning. With this, you'll not only be able to
decide whether or not to buy one of the four NAS boxes we tested, but any NAS
box that's out there.
Choosing benchmarks
This is easier said than done. On the face of it, we ran just two benchmarks-Netbench
and IOmeter. But when we actually got down to doing it, we ended up creating
twelve different test mixes from this duo for testing various aspects of the NAS
boxes. NetBench at one time was given away free of cost by Ziff Davis Labs of
US. You just had to bear the shipping and handling charges for the CD. Though
they've discontinued doing this, you'll still find it available for download
at various websites.
The benchmark provides a lot of flexibility and control over the test setup
and let's you create a real live scenario for testing the throughput and
response time of NAS boxes and servers.
The other benchmark, IOmeter is also free and can be downloaded from http://iometer.org.
There are dozens of different metrics to adjust while running this benchmark and
it can reveal the true potential of any storage device. It measures the number
of I/Os per second of the storage device and also gives the throughput in Mbps.
You can also easily run these benchmarks in your setup, besides doing the
regular file transfer tests.
 |
The test environment
Just like any other network device testing, this one also requires an isolated
network. Many organizations already have a separate test network that they use
for testing anything new before incorporating it into the production network. If
you don't, then maybe it's time you also created at least a basic setup.
What you will need though is a Gigabit Ethernet switch and a few PCs that will
act as the client load. The more PCs you have the better. We used 19 PCs in our
test setup, and a 20th machine that acted as the controller for the remaining
machines. On top of this of course, you could use a KVM over IP switch to manage
all the nodes remotely.
| Our observations |
| 1. NetBench
throws a lot of I/O requests to the NAS box through multiple clients. It
records how quickly is the NAS box able to respond to these requests. At
the end, it just maps them on two graphs. One shows the maximum throughput
for each client set, and the other shows the associated response time. So
you can easily tell not only the peak throughput delivered by a NAS box,
but with how many clients did it deliver the same.
2. We tested the NAS boxes with network load balancing
enabled and found that the performance actually went down instead of
improving. This could possibly be because of the RRDNS process, which is
balancing the load.
3. The I/O performance of a NAS box changes based on the
volume size you use. As volume size increases, I/O performance reduces.
4. Never run performance tests on a production system.
If you must do it, then you must first put it on an isolated network and
ensure that there are no users accessing it.
5. If your NAS's performance suddenly deteriorates,
check all HDDs. In RAID 5, even if a drive fails, the NAS continues to
run, but with slower performance.
6. Rebuilding a RAID with a new disk takes 2 to 3 hours
depending upon the RAID array size.
7. Perform network backups from the NAS after office
hours, or when the network is free. |
Understanding NetBench
NetBench uses a number of PCs to generate file I/O requests to a shared location
on the NAS. It loads the NAS slowly, starting with one PC and gradually
continues to add more as per your test definition until it reaches the maximum
defined load. You can also specify how long it should run and many other things
(See screenshot). It gives you graphs of the I/O throughput and average response
time at various load points. If you've loaded the NAS sufficiently, then there
will be one peak throughput point, beyond which the throughput will start
declining.
Setting up NetBench
The first thing you need to do is create a shared directory on your NAS box with
full read/write access to everyone. Connect it to the Gigabit Ethernet switch.
Then install the NetBench Controller program on a PC running Windows 2000/2003
or XP. You will define all benchmarks and control the entire test process from
here. Next, you need the PCs that will send requests to the NAS box. These
should ideally be of the same spec and preferably P4 machines running Windows
XP. Install the NetBench client software on them. You can add up to 60 PCs to
this load. Each PC can emulate several PCs, so you can simulate a much bigger
load. Note that all machines have to be assigned an IP address manually. No DHCP
please! Before starting the test, you need to configure the computer running the
controller program. First, change the computer name to “controller”. Then
open and modify the client ID file 'client.cdb' from CONTROLLER_DIR>\CLIENTIDS.
Here you'll find an entry for each client in your test bed with an associate
ID number. Add each client's IP address and a unique ID number and save the
file. On all clients, you need to map the shared folder on your NAS to the drive
letter f:.
Running the tests
First run NetBench client on all the PCs. Then go to the controller machine and
launch the controller program. Here, from the menu, select Clients>Start Log
in option to connect all client machines to the controller. Then add the tests
you want to run from Suit>Add. Here, open the DM.tst. Next, from the tool bar
select the “Go” button to start the test. The default test takes about an
hour to execute, but you can modify it as per your requirement. Let's see how
to do that.
Modify NetBench tests
From the controller window choose Suites>Create/Edit Test Suites. Open DM.tst.
You will see many test mixes (see screenshot on p.103). Each client represents
one PC and each engine will run a test mix. So two engines on a client means it's
going to run the same test mix twice, i.e. simulating the workload of two PCs.
Note that there's no ideal mix. You have to define the right one as per the
number of clients in your test setup and the device under test. We, used 7 test
mixes, which gradually increased the load on the NAS from one client to 18
clients running 4 engines each, meaning 72 clients. Each mix took about 3
minutes to complete.
Analyzing Results
NetBench automatically creates a full test report with graphs showing throughput
and response time for each test mix. From this, you can easily tell the maximum
throughput and the number of clients and engines used to achieve it. You can
compare this with reports for other NAS boxes to determine which one delivers
higher throughput and with how many clients. All test results are converted into
an Excel file by NetBench for easier analysis.
NetBench & file compression
Many NAS boxes support compressed folders, wherein any data stored on the NAS is
compressed on the fly to give you more storage space. The compression does of
course take a toll on the NAS's CPU cycles. What has to be checked is whether
this affects the overall performance.
 |
Using IOmeter
IOmeter is a widely used I/O performance analysis benchmark, specifically meant
to test storage devices. IOmeter consists of a workload generator called Dynamo
to do I/O operations and IOmeter itself to measure the I/O operations .The good
thing about this benchmark is that there's a whole range of test mixes you can
create. IOmeter is available on a variety of Operating Systems, including
Windows, Linux, and even NetWare. You can even test a NAS box by running IOmeter
from a single client. Installing IOmeter is fairly simple. You can install it on
multiple client machines as well if you want, and in fact you should do that if
you really want to stress the storage device. The only problem is that there's
no central controller from where you can control all the IOmeter installations.
You have to manually go to each machine to run it. But, like in NetBench, you
need to create a shared folder on the NAS box and map it to all clients running
IOmeter.
When you start IOmeter on both clients, Dynamo is automatically started.
Here, look for the topology window and click on all the managers to expand the
menu. Here you will see a default manager having with the same name as your
client machine. By default it has two workers. This is similar to NetBench's
client instances. In our tests we used four workers on every client. You can
have up to 100 workers under one manager. Next look for the Disk Target tab.
This shows you all available drives, including the mapped drive on the NAS.
Select it for all workers. Here, you can also specify the maximum disk size
to be used by IOmeter. By default this value is set to zero meaning
the entire disk will be used by IOmeter.
Simple file copy benchmark
Even if you can't these benchmarks, the easiest thing to do is a simple file
transfer. We took about 100 GB of documents, spreadsheets, presentations, PDFs,
and even MP3s and graphics files. We copied them to a shared folder on the NAS
and measured how long it took. We even created an ISO image of this data and
copied it to the NAS. This gave the NAS a continuous stream of data to store,
and told us the maximum throughput that the NAS box is capable of delivering to
a single machine. Next Page : Key factors when buying!!!Page(s) 1 2 3 4 5 6
|