Configuration and benchmarking setup

Thanks to Loes van Emden and Robin Willemse of Promise (Netherlands) for giving us the chance to test the E310f. Billy Harrison and Michael Joyce answered quite a few of the questions we had, so we definitely want to thank them as well. Our thanks also go out to Poole, Frank, and Sonny Banga (Intel US) for helping us to test the Intel SSR212MC2. Last but not least, a big thanks to Tijl Deneut, who spent countless hours in the labs while we tried to figure out the best way to test these storage servers.

SAN FC Storage Server: Promise VTRAK E310f, FC 4Gb/s
Controller: IOP341 1.2 GHz, 512MB Cache
Disks: 8 Fujitsu MAX3073RC 73GB 15k RPM

DAS Storage Server: Intel SSR212MC2
Controller: SRCSAS144E 128MB Cache
Disks: Eight Fujitsu MAX3073RC 73GB 15k RPM

SAN iSCSI Storage Server: Intel SSR212MC2, 1Gb/s
Server configuration: Xeon 5335 (quad-core 2 GHz), 2GB of DDR2-667, Intel S5000PSL motherboard
Controller: SRCSAS144E via 1Gb/s Intel NIC, Firmware 1.03.00-0211 (Ver. 2.11)
Disks: Eight Fujitsu MAX3073RC 73GB 15k RPM
iSCSI Target: StarWind 3.5 Build 2007080905 or Microsoft iSCSI Target software (alias WinTarget) or the iSCSI software found on Linux SLES 10 SP1

Client Configuration
Configuration: Intel Pentium D 3.2Ghz (840 Extreme Edition), Intel Desktop Board D955XBK, 2GB of DDR2-533
NIC (iSCSI): Intel Pro/1000 PM (driver version: 9.6.31.0)
iSCSI Initiator: Windows Microsoft Initiator 2.05
FC HBA: Emulex LightPulse LPe1150-F4 (SCSIport Miniport Driver version: 5.5.31.0)

IOMeter/SQLIO Setup

Your file system, partitioning, controller configuration and of course disk configuration all influence storage test performance. We chose to focus mostly on RAID 5 as it is probably the most popular RAID level. We selected a 64KB stripe size as we assumed a database application that has to perform sequential/random reads and writes. As we test with SQL IO, Microsoft's I/O stress tool for MS SQL server 2005, it is important to know that if the SQL Server Database accesses the disks in random fashion this happens in blocks of 8KB. Sequential accesses (Read-ahead) can use I/O sizes up to from 16KB up to 1024KB, so we used a stripe size of 64KB as a decent compromise.

Next, we aligned our testing partition with a 64KB offset with the diskpart tool. For some prehistoric reasons, Windows (XP, 2003, and older) puts the first sector of a partition on the 64th sector (it should be on the 65th or the 129th) which results in many unnecessary I/O operations and wasted cache slots on the cache controller. Windows Longhorn Server (and Vista) automatically aligns to 2048 sectors as a starting offset, so it will not have this problem. Then we formatted the partition with NTFS and a cluster size of 64KB (first sector of the partition is the 129th sector or the 128th block). To get an idea how much this type of tuning helps, take a look below. The non-tuned numbers are using the "default Windows installation": 4KB clusters and non-aligned partitions (partition starts at 64th sector).

All tests are done with Disk Queue Length (DQL) at 2 per drive (16 in total thus). DQL indicates the number of outstanding disk requests as well as requests currently being serviced for a particular disk. A DQL that averages 2 per drive or higher means that the disk system is the bottleneck.

I/O Meter RAID 5 Random Read (64KB)

As you can see, tuning the file system and partition alignment pays off.

The number of storage testing scenarios is huge: you can alter
  • RAID level
  • Stripe size
  • Cache policy settings (write cache, read cache behavior)
  • File system and cluster size
  • Access patterns (different percentages of sequential and random access)
  • Reading or writing
  • Access block size (the amount of data that is requested by each access)
  • iSCSI target - this is the software that receives the requests of the initiators and processes them
So to keep the number of benchmarks reasonable, we use the following:
  • RAID 5 (most of the time, unless indicated otherwise)
  • Stripe size 64KB (always)
  • Always Adaptive Read Ahead and Write back
  • NTFS, 64KB cluster size
  • 100% random or 100% sequential
  • 100% read, 100% write and 67% read (33% write)
  • Access block size 8KB and 64KB
  • iSCSI SLES, StarWind (not all tests), and MS iSCSI Target software
This should give you a good idea of how we tested. We include a DAS test that is a test run directly on the Intel SSR212MC2. This tests the storage performance of its local disks. This should give you an indication on how fast the disk system is without any FC or iSCSI protocol overhead.
Looking Under the Hood I/O Meter
Comments Locked

21 Comments

View All Comments

  • Anton Kolomyeytsev - Friday, November 16, 2007 - link

    Guys I really appreciate you throwing away StarWind! W/o even letting people know what configuration did you use, did you enable caching, did you use flat image files, did you map whole disk rather then partition, what initiator did you use (StarPort or MS iSCSI), did you apply recommended TCP stack settings etc. Probably it's our problem as we've managed to release the stuff people cannot properly configure but why did not you contact us telling you have issues so we could help you to sort them out?

    With the WinTarget R.I.P. (and MS selling it's successor thru the OEMs only), StarWind thrown away and SANmelody and IPStor not even mentioned (and they are key players!) I think your review is pretty useless... Most of the people are looking for software solutions when you're talking about "affordable SAN". Do you plan to have second round?

    Thanks once again and keep doing great job! :)

    Anton Kolomyeytsev

    CEO, Rocket Division Software
  • Johnniewalker - Sunday, November 11, 2007 - link

    If you get a chance, it would be great to see what kind of performance you get out of an iscsi hba, like the one from qlogic.

    When it gets down to it, the DAS numbers are great for a baseline, but what if you have 4+ servers running those io tests? That's what shared storage is for anyhow. Then compare the aggregate io vs DAS numbers?

    For example, can 4 servers can hit 25MB/s each in the SQLio random read 8kb test for a total of 100MB/s ? How much is cpu utilization reduced with one or more iscsi hba in each server vs the software drivers? Where/how does the number of spindles move these numbers? At what point does the number of disk overwhelm one iscsi hba, two iscsi hba's, one FC hba, two FC hbas, and one or two scsi controllers?

    IMHO iscsi is the future. Most switches are cheap enough that you can easily build a seperate dedicated iscsi network. You'd be doing that if you went with fiber channel anyhow, but at a much higher expense (and additional learning curve) if you don't already have it, right?

    Then all we need is someone who has some really nice gui to manage the system - a nice purdy web interface that runs on a virtual machine somewhere, that shows with one glance the health, performance, and utilization of your system(s).

    System(s) have Zero faults.
    Volume(s) are at 30.0 Terabytes out of 40.00 (75%)
    CPU utilization is averaging 32% over the last 15 minutes.
    Memory utilization is averaging 85% over the last 15 minutes.
    IOs peaked at 10,000 (50%) and average 5000 (25%) over the last 15 minutes.

    Pinch me!

    -johhniewalker
  • afan - Friday, November 9, 2007 - link

    You can get one of the recently-released 10Gbps PCI-E TCP/IP card for <$800, and they support iSCSI.

    here's one example:
    http://www.intel.com/network/connectivity/products...">http://www.intel.com/network/connectivi...oducts/p...
    The chip might be used by Myricom and others, (I'm not sure), and there's a linux and a bsd driver - a nice selling point.

    10gb ethernet is what should really change things.
    They look amazing on paper -- I'd love to see them tested:
    http://www.intel.com/network/connectivity/products...">http://www.intel.com/network/connectivi...ucts/ser...
  • JohanAnandtech - Saturday, November 10, 2007 - link

    The problem is that currently you only got two choices: expensive CX4 copper which is short range (<15 m) and not very flexible (it is a like infiniband cables) or Optic fiber cabling. Both HBAs and cables are rather expensive and require rather expensive switches (still less than FC, but still). So you the price gap with FC is a lot smaller. Of course you have a bit more bandwidth (but I fear you won't get much more than 5 GBit, has to be test of course), and you do not need to learn fc.

    Personally I would like to wait for 10 gbit over UTP-cat 6... But I am open to suggestion why the current 10 gbit would be very interesting too.
  • afan - Saturday, November 10, 2007 - link

    Thanks for your answer, J.

    first, as far as I know, CX4 cables aren't as cheap as cat_x, but they aren't all _that_ expensive to be a showstopper. If you need more length, you can go for the fibre cables -- which go _really_ far:
    http://www.google.com/products?q=cx4+cable&btn...">http://www.google.com/products?q=cx4+ca...amp;btnG...

    I think the cx4 card (~$800)is pretty damn cheap for what you get: (and remember it doesn't have pci-x limitations).
    Check out the intel marketing buzz on iSCSI and the junk they're doing to speed up TCP/IP, too. It's good reading, and I'd love to see the hype tested in the real world.

    I agree with you that UTP-cat 6 would be much better, more standardized, much cheaper, better range, etc. I know that, but if this is we've got now, so be-it, and I think it's pretty killer, but I haven't tested it : ).

    Dell, cisco, hp, and others have CX4 adapters for their managed switches - they aren't very expensive and go right to the backplane of the switch.

    here are some dell switches that support CX-4, at least:
    http://www.dell.com/content/products/compare.aspx/...">http://www.dell.com/content/products/co...er3?c=us...

    these are the current 10gbe intel flavors:
    copper: Intel® PRO/10GbE CX4 Server Adapter
    fibre:
    Intel® PRO/10GbE SR Server Adapter
    Intel® PRO/10GbE LR Server Adapter
    Intel® 10 Gigabit XF SR Server Adapters

    a pita is the limited number of x8 PCI-E slots in most server mobos.
    keep up your great reporting.
    best, nw
  • somedude1234 - Wednesday, November 7, 2007 - link

    First off, great article. I'm looking forward to the rest of this series.

    From everything I've read coming out of MS, the StorPort driver should provide better performance. Any reason why you chose to go with SCSIPort? Emulex offers drivers for both on their website.
  • JohanAnandtech - Thursday, November 8, 2007 - link

    Thanks. It is something that Tijl and myself will look into, and report back in the next article.
  • Czar - Wednesday, November 7, 2007 - link

    Love that anandtech is going into this direction :D

    Realy looking forward to your iscsi article. Only used fiber connected sans, have a ibm ds6800 at work :) Never used iscsi but veeery interested into it, what I have heard so far is that its mostly just very good for development purposes, not for production enviroments. And that you should turn of I think chaps or whatever it its called on the switches, so the icsci san doesnt overflow the network with are you there when it transfers to the iscsi target.
  • JohanAnandtech - Thursday, November 8, 2007 - link

    quote:

    Love that anandtech is going into this direction :D


    Just wait a few weeks :-). Anandtech IT will become much more than just one of the many tabs :-)

    quote:

    And that you should turn of I think chaps or whatever it its called on the switches, so the icsci san doesnt overflow the network with are you there when it transfers to the iscsi target.


    We will look into it, but I think it should be enough to place your iSCSI storage on a nonblocking switch on separate VLAN. Or am I missing something?

  • Czar - Monday, November 12, 2007 - link

    think I found it
    http://searchstorage.techtarget.com/generic/0,2955...">http://searchstorage.techtarget.com/generic/0,2955...

    "Common Ethernet switch ports tend to introduce latency into iSCSI traffic, and this reduces performance. Experts suggest deploying high-performance Ethernet switches that sport fast, low-latency ports. In addition, you may choose to tweak iSCSI performance further by overriding "auto-negotiation" and manually adjusting speed settings on the NIC and switch. This lets you enable traffic flow control on the NIC and switch, setting Ethernet jumbo frames on the NIC and switch to 9000 bytes or higher -- transferring far more data in each packet while requiring less overhead. Jumbo frames are reported to improve throughput as much as 50%. "

    This is what I was talking about.

    Realy looking forward to the next article :)

Log in

Don't have an account? Sign up now