If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

I/O Performance on Cloud

Can someone please give me some suggestions on the acceptable i/o performance people opt for when they are on a cloud virtual server (VDS/VPS on Cloud)? Like at what level (in terms of the speed of file creations, reading/writing, etc) we start to notice about the poor i/o performance within the guest OS?

Are there any benchmark web sites that I can look over the i/o performance between providers. I know about cloudharmony.com but the search are not working for me for days. Would be cool to know their technologies & infrastructure too - iScsi, FC, ipoib, etc.

Hey, really hard to generalise here, but as a rule of thumb your avg. SATA drive will give you ~100IOPS (largely depending on drive size/type). There are a lot of drives doing better (SAS drives doing up to 300 IOPS). Obviously you can do take the SSD route that can bring you up to 10-20k IOPS.

Some of our clients deploy FusionIO cards giving them 400k+ IOPS per card.

On avg you should allocate 20-40 IOPS per VM deployed on a cloud. Now, some clients would go way above that, but most will be below - it's all about your client segment. That avg. is across more than 100 OnApp installs. OnApp typically aims for the mass market hosts, so you may find other IOPS KPI's in other segments.

Consider using RAM disks + replication and a good backup policy for high I/O requirements in the cloud. Amazon provide plenty of RAM with their instances for a reason... they don't want you going in to swap.

and some providers will jump on you if you are doing this on the production san

and rightly so....running bonnie/hdparm/etc can kill performance for any SAN.
Also, we see OnApp clients starting to charge for IOPS as a resource ... and running bonnie would cost you a lot of $$ in that case

On another note, a good way to deal with IOPS in your cloud is to separate the swap and primary storage on to individual SAN's.
When a VM starts swapping it tends to hit the SAN pretty hard and if your cloud platform allows you to allocate several storage units to the same VM, then that's a good way to alleviate some of the problems associated with IO intensive VM's. We've seen quite a few clients do that.

On another note, a good way to deal with IOPS in your cloud is to separate the swap and primary storage on to individual SAN's.
When a VM starts swapping it tends to hit the SAN pretty hard and if your cloud platform allows you to allocate several storage units to the same VM, then that's a good way to alleviate some of the problems associated with IO intensive VM's. We've seen quite a few clients do that.

D

Absolutely, and I completely agree. In cloud swap is an important thing to consider due to the way data is served. In our case with using AppLogic we have as many SAN's as servers basically (utilizing local storage pooled into virtual IP SANs basically) so we configure some servers to run the data streams of swap's, spread out the IO, etc. It's a little more work with the way the technology is today but it's also significantly cheaper than traditional redundant SANs, especially for smaller clouds and VPDC's for customers with just 3-6 servers or so.

Hey, really hard to generalise here, but as a rule of thumb your avg. SATA drive will give you ~100IOPS (largely depending on drive size/type). There are a lot of drives doing better (SAS drives doing up to 300 IOPS). Obviously you can do take the SSD route that can bring you up to 10-20k IOPS.

I always have a feeling that this can be scored much higher due to the fact that there are more servers handling the I/O and better throughput within the cloud environment, isn't it?

Unless you put a good amount of money/architecture into it, local disk is going to be faster than remote disk. If you set up a fancy infiniband or 10G san connected to a raid 10 with a bunch of spindles, it'll be faster than a local ssd. But that's not your average hosting SAN.

A well networked SAN cluster can outperform all but the geekiest-end local storage. There are providers emerging that can provide superior SAN performance on a cloud platform, without breaking the bank - to my mind, this is the future of hosting!

Cloud customers pay for what they use - they dont have to worry about switchports, SAN's or anything else, that's the whole point of the cloud.

It's up to the provider to deliver the performance at the right price.

If you need 500MB/sec to your storage, cloud ain't for you in the first place (not yet anyway ) But those kind of requirements are representative of 0.01% of the websites/apps out there that need hosting in the first place.