As you can see, we use a pretty strong test system with a fast SSD off of which all the tests are executed to make sure there is no bottleneck on our side, since the SSD can achieve up to 560 MB/s read and 510 MB/s write (sequential).
NAS Configuration
Internal Disks:
4x Seagate ST500DM005 500 GB (HD502HJ, Serial ATA III, 7200 RPM, 16 MB)
External Disks:
SSD OCZ Agility 2 60GB in USB 3.0 enclosure
Firmware:
2.3.2.R2A1
Ethernet Switch:
TL-SG3216 16-port Gigabit managed switch (LACP and Jumbo frames support)
Ethernet Cabling:
CAT 6e, 2 m
Methodology
We use three different programs to evaluate the performance of the NAS. The first is Intel's NAS Performance Toolkit. Intel was kind enough to build a NAS performance toolkit and not only release it for free to the public, but also provide its source code. The only problem with this toolkit is that using a client PC with more than 2GB of memory will results in two tests ("HD Video Record" and "File Copy to NAS") being heavily affected since they actually measure the client's RAM buffer speed and not the network speed, so we set the maximum memory of our test PC to 2 GB via msconfig's advanced options. We also exploit its batch run function, which repeats the selected tests for five turns and uses their average readings as the final results for the tests with this toolkit.
The second program is custom-made. It performs ten basic file transfer tests and measures the average MB/s speed for each. To extract results that are as accurate as possible, we run all selected tests ten times and use the average as the final result.
We also perform our multiple client tests (up to ten clients are supported by one server instance of the program) through the same program. The server program runs on the main workstation/server and the clients run the client version of the program. All are synchronized and operate in parallel, and all clients report their results to the server after all the tests are done. The server sums these results up and transfers them to an excel sheet for the generation of the corresponding graph(s).
The third program we use in our test sessions is ATTO, a well-known program for storage benchmarks. In order to use ATTO for benchmarking, we are forced to map a shared folder of the NAS to a local drive, since ATTO cannot directly access network devices.