Maximum Write Throughput: Transfer request size to 64 KB, percent read/write distribution to 100 percent write, and percent random/ sequential distribution to 100 percent sequential (see results online).
Maximum I/O Rate: Transfer request size to 512 bytes, percent read/write distribution to 100 percent read, and percent random/sequential distribution to 100 percent sequential (see results on page 58).
NWC Generalized Custom Test: Transfer request sizes of 512 bytes with 33 percent access distribution, 2 KB with 34 percent access distribution, and 64 KB with 33 percent access distribution. On the 512-byte segment, the percent read/write distribution was set to 100 percent read, and the percent random/sequential distribution was 100 percent sequential. On the 2-KB segment, the percent read/write distribution was 67 percent read, 33 percent write, and the percent random/sequential was 100 percent random. On the 64-KB segment, the percent read/write distribution was 100 percent read, and the percent random/sequential distribution was 100 percent read. This test represents what we feel will be a typical, if small, standard workload for a storage subsystem.
During our iSCSI tests we learned that there's often a problem reading a single target. To make sure we have the terminology straight, we define a target is a device you can partition into multiple LUNs (logical unit numbers; in other words, what happens when you partition your local hard disk into multiple drives). For example, we split our Eurologic SANBloc 2 into two targets, each running at RAID 0. We then partitioned each target into two LUNs. In Windows, this looked liked four drives--E, F, G, and H. E and G were primary partitions; F and H were extended partitions on each target, respectively.
In contrast to every other storage protocol, read operations for iSCSI are more difficult to perform than writes. Incoming streams need to be reordered and processed, while that operation is handled on the target end for writes. Cards that perform TCP off-load tend to become bound by their internal CPUs, where the base NIC in the Dell 2650 had a pair of 2.6-GHz Xeon processors to work with.
The Alacritech and the Adaptec cards both performed well. The Alacritech uses a parallelized processor to handle TCP streams, meaning that it is much more efficient when handling multiple streams than a single stream. With only one target, you get only one TCP stream, and the onboard processor becomes a bottleneck--specifically, to the tune of 85 MB per second with iSCSI on the Alacritech card. On the Adaptec card, read performance was only 64 MB per second with a single target but rose to 87 MB per second with two targets. The Intel PRO/1000 T IP Storage Adapter card performed the worst, getting only 55 MB per second with two targets and about the same with one.