This week I presented at the SSWUG Virtual Conference on how to benchmark your storage performance with Microsoft’s SQLIO utility. Last week I talked about running SQL Server in the cloud on Amazon EC2. Take those two things together, and we’ve got storage benchmarking on Amazon EC2 servers:
- Maximum write speed: 68 MBs/sec
- Maximum read speed: 8 MBs/sec
I find this too horrifying to comprehend. I can’t imagine running a database server using a first-generation USB thumb drive for storage, but that’s essentially what this is.
If anybody out there is using Windows on Amazon EC2, I’d be really curious to hear what your SQL Server performance is like relative to your physical in-house servers. If you’ve got the time, running SQLIO on your EC2 instances would be even better, but it takes several hours to run through my full battery of SQLIO tests. Running any storage testing utility against an EC2 hard drive would be interesting.
This was not a one-time result – this was a continuous overnight test against an m1.large instance with nothing installed on it. Every single read test maxed out at around 8 MBs/sec. Unbelievable.
I’d love to spend more time digging into this, but I’m signing off the computer tonight to start our move up to Michigan. (I have a linkpost scheduled for Friday already.) When I get to Michigan, I’ll try a couple of other storage performance test utilities against EC2 instances to see if I’m missing something obvious, and I certainly hope I am. I’ve never seen performance this bad on a desktop, let alone a server.
Update from Amazon EC2 Support
There’s a thread about slow Amazon EC2 performance for storage on the Amazon forums. The official answer from Amazon is yes, it’s that slow but they believe it’s normal for SAN storage. They’re way off base there – I routinely get faster performance out of my home lab gear – but at least they’re watching the forums.