We’ve been discussing how the cloudhosts cloud can provide a high performance, dynamic, scalable, resilient and flexible infrastructure for your servers. Last time, we discussed how failover is implemented in the environment and how this therefore makes that part of the environment resilient. Equally, part of the technology which enables the resilience also enables high performance.
Within the cloud environment, there are many devices within the Shared Storage SAN infrastructure. These many devices each individually have their own disks, controllers, Network adapters and power supplies. We talked last time about how this gives resilience but, with the exception of the power supplies all of these enable greater performance too – a nice little bonus!
Each device typically has 16 disks (we have some with 48), 8 network adapters, 2 controllers and 2 power supplies.
Disks:
The bonus of having many disks in a device behind a single (active) controller is that you get to configure the disks to all work together – creating greater throughput of data as well as the resilience. If you think about it, one disk is capable of transferring say, 50MB a second and undertaking 80 reads or writes per second (IOPS, based on SATA disk). Now lets store your data not on one disk, or even 2 disks (as you may be doing on a hosted server right now) but store your data on 16 disks. This means 16 disks worth of data transfer (throughput) and reads and writes per second is possible!
This is all made possible by a little piece of technology called RAID – Redundant Array of Independent Disks. RAID is a very common implementation in servers and you may be very familiar with it. For the purposes of the discussion, redundant ~= resilient. There are a few common RAID types:
- RAID 0:
- 2 disks are used to provide performance. This decreases resilience (and is not a true RAID type – as it doesn’t provide resilience) because if you lose one disk, you have lost half of the data!
- RAID 1:
- 2 disks are used to provide resilience if 1 fails. There is also the side benefit that typically 1 disk is used to write but 2 disks are used to read – double read speed.
- RAID 5:
- 3 or more disks are used to provide resilience if one fails, read performance is good but write performance is restricted due to spreading data across all disks. Data is spread over the 3 disks and if one fails the missing data can be calculated from the remaining data but due to the calculation, will run slowly until a replacement disk is added.
- RAID 10:
- 4 or more disks are used to provide resilience. No coincidence that this type combines the benefits of type 0 and type 1. Therefore this disk type can suffer the loss of 2 disks and receives the performance of 4 disks. The best of both worlds.
As you can imagine, with RAID10 utilised in our 16 disk arrays you get the performance of 16 disks with the added peace of mind of the resilience of this configuration.
Cloudhosts offers 2 configurations of RAID10 shared storage:
- Enterprise:
- based on RAID10 this option utilises high performance SAS disks which spin at 15000 rpm. The average available performance capacity for a cloud server based on this solution is 3200 reads/writes per second.
- Standard:
- based on RAID10 this option utilises standard performance SATA disks which spin at 7200 rpm. The average available performance capacity for a cloud server based on this solution is 1100 reads/writes per second.
Compare these numbers with the statistics for a standalone physical server with 2 disks configured as RAID1 and you really see where the performance benefit of cloud servers can be (typical statistics for physical servers in RAID1 with SATA disks = 80 IOPS, SAS disks = 150 IOPS).
Next time; more on benefits of performance.