As you can see, we use a pretty strong test system with an ultra-fast PCIe SSD from which all the tests are executed to make sure there is no bottleneck on our side, since the RevoDrive 350 480 GB can achieve up to 1800 MB/s read and 1700 MB/s write speeds (sequential). We also equipped the above system with an Intel X540-T2 network adapter for up to 10 GbE transfer speeds for NAS servers that feature a 10 GbE Ethernet controller. The Zyxel XS1920 smart managed switch is also essential in achieving such high speeds with copper wires.
Test Setup for Multi Client Tests
The test setup we use for multi-client tests is described in the table below.
TL-SG3216 16-port Gigabit managed switch (LACP and Jumbo frames support)
Ethernet Cabling
CAT 6e, 2 m
UPS
CyberPower Systems PR2200ELCDSL
We chose to use ten real clients instead of virtual machines for our multi-client tests to ensure we conduct our tests in a context that is very close to real life. We believe ten clients with our custom-made software to be more than enough to figure out the capabilities of a NAS for even extreme usage scenarios.
We use a very strong, high quality Cyberpower UPS with pure sinewave output in order to adequately protect our client PCs and the NAS. The PR2200ELCDSL belongs to the Professional Tower Series and has a capacity of 2200VA, which is more than enough to handle all ten client PCs and a professional NAS with multiple HDDs installed.
Thanks Section
Building a suitable test bed for NAS reviews is really hard and expensive; however, we were lucky enough to have the support of several companies we would like to mention and thank, one by one.
Shuttle for helping us acquire twelve DS81 barebone slim-PCs.
OCZ for the RevoDrive 350 and dozen ARC 100 SSDs with a capacity of 240 GB each.
We use two programs to evaluate the NAS server's performance. The first 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 where 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 and the clients run the client version of the program. All are synchronized and operate in parallel; after all tests are finished, the clients report their results to the server, which sums them up and transfers them to an excel sheet for the generation of the corresponding graphs.
The second program we use in our test sessions is DiskSpd by Microsoft. This is a highly flexible storage test tool capable of very accurately simulating different workloads. We wrote two advanced scripts, one that simulates an On-line Transaction Processing (OLTP) system and one that simulates an On-line Analytical Processing (OLAP) system. The OLTP scenario consists of a large number of short transactions, which has the number of IOPs (Input/Output Operations Per Second) play a key role. The number of transactions is low in our OLAP scenario, but the queries can be very complex. Response times are very important for an OLAP system, and a NAS server's maximum throughput speed is reached in this scenario since the block size is quite large.
OLTP systems generally serve the purpose of gathering input information and storing it in a database. This is done on a very large scale, and the most common operations are INSERT, UPDATE, and DELETE. An OLTP database holds detailed, current data, and an entity model, usually 3NF, is used as the schema to store transactional databases. An OLTP database also usually has high read-to-write ratios (typically 90/10 to 70/30).
OLAP systems are used to analyze the data stored in a database. As such, OLAP systems mostly apply select operations in very large data warehouses in order to collect information (data mining). An OLAP database consists of aggregated, historical data stored in multi-dimensional schemas (usually star schemas). Their read-to-write ratio is very high, and in some cases, there might only be read operations.