PDS Logo Columns
Valued Partner News            September 2010 
                                                Volume 1, Edition 8
Greetings!
  Virtualization has taken over the computing world like wildfire. With better utilization of computing assets, energy savings and improved reliability (when implemented correctly), what's not to like? With all the benefits there are some areas you need to make sure you don't skimp on when creating your virtualization infrastructure, so this month we'll talk about one of those most commonly overlooked ones, I/O (input/output operations) to the network and storage resources.
 
blueline
"I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark."
- Muhammad Ali                   
  
tachometerIf you're going to virtualize, speed matters...
 
  There are definitely benefits to running a small handful of powerful servers instead of dozens of mid-range and low-end servers. There are however several gotchas to insure you don't reduce user application performance, decrease reliability, complicate your architecture and overall fail miserably in your quest for the benefits of virtualization.
 
  This month we're going to talk about I/O, input output operations or IOPS (I/O per second). Sizing for CPU and memory resources is usually done fairly accurately. You look at the existing systems you plan to virtualize, look at how much CPU power and memory they have, compare that to how much CPU and memory is actually being used and buy your new more powerful server(s) to replace them accordingly. Easy right? What is commonly overlooked however is connections to the network and disk storage performance.
 
Network Performance:
  It's important to look at your overall network usage averages and during peak periods to make sure that you include enough network bandwidth on your new virtualized server as is currently being used on your physical servers. For example, if you're maximizing all your bandwidth on ten servers with 1Gbit each, if you plan to virtualize these ten servers into a single server you need to make sure you have at least 10Gbits of bandwidth (and probably more) on the new virtualized server.
 
Storage Device I/O Contention:
  When you have one storage device (i.e. a disk drive) dedicated to a single physical server there is no storage device I/O contention except between the applications running on that single physical server.
 
  When you have one storage device (i.e. a disk drive) running multiple virtualized servers on a single physical server there is much higher I/O contention for the storage device resources. Each of the virtualized servers and each of their individual applications are all vying for access to data on the storage device, and to make matters worse the requests are mostly random instead of sequential, since each server has its own individual applications and requests that have nothing to do with each other all running on the same physical server.
 
I/O's, Access Time & Throughput = They're related, right?
- IOPS is how many input and output operations can be accomplished in a second.
- Access time is the time it takes from the time a request is made to access the data.
- Throughput is how fast data can transfer from point A to point B (i.e. storage device to system memory when loading a file).
 
  These are all related but also very different. Access Time and IOPS are very closely tied but Throughput, at least in regards to storage and network resources, is very different.
 
  For instance a SATA drive typically spins at 7,200RPM. 7,200RPM drives commonly have sustained throughput performance specifications of over 100MB/sec but I/O is typically less than 100 IOPS (I/O per second) due to a slower average access time of 10 milliseconds. This means a 7,200RPM disk is probably good for a single user loading large data sets or a backup server that is receiving large amounts of sequential data during backups, especially since the cost per GB is very low as well. These types of drives however are not very good for a high activity database, mail server or virtualized server though.
 
  A Solid State Drive (SSD) on the other hand is just the opposite. SSDs commonly have access times less than 100 microseconds, literally 100 times faster than the 10 millisecond 7200RPM drive. The SSD throughput however may be the same or only 2x the throughput of a standard drive, but with a much higher cost per GB. This makes SSDs great for high I/O applications like databases, mail servers and virtualized environments but not cost effective for backup servers and low impact file servers.
 
  External RAID Storage is a mix, aggregating the performance of standard disk drives, possibly including SSDs, along with even faster cache memory between the disk storage and the server requesting the data to increase performance. RAID storage also adds reliability through redundancy, a key requirement for virtualized environments. 
 
  The most important thing to realize when moving from a single physical server running a one or more applications to a virtualized environment running several virtual servers each running their own applications is that your IOPS requirements are going to be much higher.
 
Virtualization Sizing: The Simple Method
  Let's saying you are migrating from 10 physical servers to 1 physical server running virtualization.
 
Each current physical server specifications:
virtual-physical1 x 2 core 2GHz CPUs
4GB RAM
1 x 1 Gbit network connection
1 x 10K RPM 146GB disk drive (10K RPM = ~150 IOPS)
 
For simplicity's sake this gives you aggregate performance of:
20 2GHz CPU Cores (40GHz CPU)
40GB RAM
10 Gbit network speed
1,500 IOPS
 
  Your more powerful virtualized servers need to have at least this much aggregate performance, plus enough for the overhead involved with the virtualization layer, plus additional disk IOPS to support a higher percentage of randomized seek requests. You should also factor in future growth.
 
  Again for simplicity's sake you might choose the following performance for at least 10% virtualization layer overhead, 20% higher seek request overhead due to randomized seeks and 25% future growth.
 
New virtualized server specifications:
4 x 8 core 2Ghz CPU Cores (64GHz CPU)
64GB RAM
1 x 10Gbit network connection (or 3 x Quad 1Gbit 12Gbit aggregate)
SSD (Solid State Drive) and/or External Fibre Channel RAID - 3,000+ IOPS
 
  As with most things in life, your mileage will vary. The key to a successful migration from physical to virtual, at least in regards to performance, is to make sure you take into consideration all the attributes that affect performance, not just CPU and memory.
 
  As always, your team at Partners is available to help at any point during this process.
 
~Your Partners at Partners Data Systems  
  
blueline
Quick Links...
Contact Information
Phone: 800-550-3005
 
blueline
Join Our Mailing List