Diamond Notes

Just another WordPress weblog

Do You Need a SANdwich??

I just wrapped up a test to determine if it would be possible to implement a SAN as a backend for our data storage. For those who do not know - SAN stands for Storage Area Network. It is a close relative to a NAS (Network Area Storage) unit. Basically it a fancy RAID unit that you plug into your network instead of directly into the server itself.

I tested a storage unit by Coraid (http://www.coraid.com). The model was an SR1521. It will take up to 14 drives. I actually did the testing with six drives installed. Before I get into some details about the testing itself let me mention a couple of things about Coraid itself. I think Coraid has built a great product. I am not completely certain, but if I recall Coraid is the inventor of the AoE (ATA over Ethernet) protocol. It is a protocol that allows very fast communication between the server and the SAN unit. The AoE protocol and driver are open and the source code for the driver is available for download from the Coraid website. I emailed the company a couple of times during testing with various questions. They responded quickly and were helpful with my problems. From a company perspective I have absolutely no qualms recommending them. When doing any type of benchmarking it is important that you change as little as possible between test. If I was trying to determine what various changes to a my.cnf file might make I would not make four, three, or even two changes to the my.cnf file and run my benchmarking program. I would make one change and run my benchmarking program. Otherwise, how will I know what is happening? Adding 512MB to the Innodb buffer pool might improve performance by 20%. But, adding the general query log option might drop performance 10%. I have a net gain of 10% changing both variables but I would not realize what was really going on under the hood.

I used two primary tools when doing my benchmarking. For basic throughput (both read and write) testing I used the iozone (http://www.iozone.org)program. I used this to run basic write and read tests against an individual hard drive, a software mirrored hard drive, and then partitions formatted with ext3, reiserfs and the oracle clustering file system (yes, I know oracle..laugh) mounted on the Coraid unit. I also used the mybench program (http://jeremy.zawodny.com/mysql/mybench/) of Jeremy Zawodny. This tool will let you take a query and run it against a database many times and with multiple clients. I used it to run test of 10 simultaneous connections through 400 simultaneous connections.

Next time I will talk about the actual test results.

No comments yet. Be the first.

Leave a reply