Given that there are so many emerging technologies in SAN and NAS, it is really getting difficult for the users to choose the right product and technology. What is the performance basis a user should see while evaluating different storage systems?
One currently being considered is IOPS, but different vendors claim IOPS based on level (like controller level IOPS, IOPS at controller cache and so on). It is so confusing. Is there any neutral industry expert that benchmarks storage systems based on their performance?
My motto is "trust but verify." Performance is very subjective. Let's look at the basic factors that need to be looked at before making a decision:
1) Operating system platform and version
2) Application and application design (things like indexing with databases and Web application design)
3) SAN design (how many hops between server and storage, switch vendor, interface [1Gb or 2Gb], distance, loop or fabric)
4) HBAs used (how many, hardware or software failover, buffer credits, hardware or software context switching)
5) RAID type (how many spindles, RAID5, RAID1, RAID0+1)
6) Drive latency (rotational speed, access time, seek time)
7) Drive layout (partitioning for short stroking, active/active or active passive interfaces, fibre or SCSI)
8) HBA driver version (this can really effect performance)
9) Server platform (RISC or Intel, bus type, bus bandwidth, bus bridge ASIC design, how many CPUs, CPU speed, memory, etc.)
10) Cache design (total cache capacity, cache algorythms, global or LUNs based, dynamic or applied)
11) Storage array (bus or switched based, spindle density, fibre or SCSI, cache capacity, software, etc.)
As you can see, there are many factors that effect performance. The best way to determine if a specific vendors solution is right for you is to do an evaluation using your real world production environment and test it. If that is not possible, then use standardized performance tools like Intel's IOMETER or a DD on Solaris. Use the exact same setup for each vendor and just change out the different storage platforms.This, I find, is the most valuable method of really testing a vendor?s solution. Keep in mind that if you want to test scalability, you will need a way to stress test the environment. This will show you how many servers you can actually connect to an array without impacting the performance of the other servers. Try and get as much storage as possible for your testing and use as many servers as you have available.
You may also want to go to the Transaction Performance Council Web site at: http://www.tpc.org which is a vendor neutral organization that tests different vendors' databases against different server and storage solutions. They include a detailed description of the solution in PDF format so you can review the actual design used for the test.
Hope this helps.
This was first published in July 2001