Tons of Formulas For My Virtual Infrastructure


I had to come up with some sort of capacity planning using tons of formulas found out there at VMware PDF files and KB’s but also at storage vendor site, in this particular case at HP, and last but not least at well-known blogger sites. Then I crunched them for this particular project/environment and for my needs.

I’m listing here the formulas the way I have transformed them for this particular project. Therefore they might not be crystal clear for everybody, nor correct for your own environment actually!

Going through the list, most of the formulas are plain readable text and don’t necessitate much explanation but some are just chinese :( For those I will explain as much as I can and provide in any case links to source documents at the bottom of each group of formulas.

These formulas are provided ‘AS-IS’. Before using them, you should first understand them and eventually modified them to stick to your own environment and your needs.

Storage

  • Max IOPS per DISKGROUP in a RAID1 Config = (# of disks per DISKGROUP) * (IOPS of a 15K Fiber Channel in VRAID-1)
  • Max IOPS per DISKGROUP in a RAID5 Config = (# of disks per DISKGROUP) * (IOPS of a 15K Fiber Channel in VRAID-5)
  • Target Port Queue Depth necessary for one Cluster >= (HBA Queue Depth) * (# of Qlogic HBA ports) * (# of LUNs in a Cluster) * (Total # of Hosts in a Cluster)
  • Target Port Queue Depth necessary for all Clusters >= (HBA Queue Depth) * (# of Qlogic HBA ports) * (Total # of LUNs in all Clusters) * (Total # of Hosts)
  • Number of disks needed = (((AVG Total IOPS for all VM’s * RAID penalty * write %) + (Total IOPS * read %)) / Raw performance of the disk drive)
  • Number of disks needed = (((AVG Total IOPS for all VM’s * RAID penalty * write %) + (Total IOPS * read %)) / Raw performance of the disk drive)
  • Total Seektime = Head Seektime + Rotational Latency + Transfer Time
    • Whilst Head Seektime and Rotational Latency are understandable, the author of this formula explained that the ‘Transfer Time’ is the time required to actually read the data from the disk platter once the head is seeked. It is influenced by three factors: 1) The size of the chunk of data that has to be read, 2) The rotational speed and 3) The location of the data on the platter; inner or outer.
  • # of IOPS a disk can achieve = 1/(average latency in ms + average seek time for read or write in ms)
  • MHz per I/Ops = (Average CPU utilization × CPU rating in MHz × Number of cores) / (Number of I/O operations per second)

Sources: HP Storageworks Enterprise Virtual Array (EVA) – Relative Performance of Disks Used in the EVA, HP StorageWorks Enterprise Virtual Arrays (EVAs) – Basic EVA Performance Guidelines, Configuration best practices for HP StorageWorks Enterprise Virtual Array (EVA) family and VMware vSphere 4 White Paper, Throughput part 1: The BasicsUnderstanding disk IOPS, Best Practices for the HP EVA Array using VMware vCenter Site Recovery Manager, Performance Characteristics of VMFS and RDM

Host

  • Max Outstanding IO’s per Cluster = (HBA Queue Depth) * (# of Ports per Qlogic HBA) * (# of DATASTOREs in a Cluster) * (Total # of Hosts in a Cluster)
  • Max Outstanding IO’s for all Clusters = (HBA Queue Depth) * (# of Ports per Qlogic HBA) * (Total # of DATASTOREs in all Clusters) * (Total # of Hosts)
  • HBA Queue Depth (ql2xmaxqdepth) per Cluster = ((EVA’s Target Port Queue Depth) * (# of Ports per EVA Storage Processor)) / (# of LUNs in a Cluster)
  • Best HBA Queue Depth (ql2xmaxqdepth) for all Clusters to accomodate EVA TPQ = ((((EVA’s Target Port Queue Depth) * (# of Ports per EVA Storage Processor)) / (Total # of LUNs in all Clusters)) / Total # of Hosts)
  • Max # of LUNs = (ESX3.5 configuration maximums for LUN’s) / (# of paths)
  • Growth Hosts Needed = (((% Growth Rate) x (# VMs Growing) x Term) ÷ (Consolidation Ratio) )
  • Growth Hosts Needed Enhanced= (((% Growth Rate) x (# VMs Growing) x Term) ÷ (Consolidation Ratio) ) / (Percentage Full)
    • The enhanced part here is the (Percentage Full). Most organization consider a Host full when reaching a certain percentage level of usage. This is very close to the # of Host failure tolerate in a particular cluster.
  • Disk.SchedNumReqOutstanding = HBA Queue Depth
  • Max # of VMs per Host on a shared VMFS = (LUN Queue Depth on each ESX Host) / (Max Outstanding I/O Recommended for Array per LUN)

Sources: Increasing the queue depth?, QLogic FC HBA in an EMC Environment, Scripting Queue Depth in a QLogic/EMC environment, Scalable Storage Performance VMware® ESX 3.5, Setting the Maximum Outstanding Disk Requests per Virtual Machine

HBA

  • HBA Execution Throttle = ((Storage Port Max Queue Depth) * (# of Ports per EVA Storage Processor) / (Total # Qlogic HBA Ports for all Hosts / 2))
    • At the end of the formula, I divide (Total # Qlogic HBA Ports for all Hosts) by 2 because in my case it’s a dual-port HBA. The important thing here is that the Execution Throttle is per HBA. Also you could change the (Total # Qlogic HBA Ports for all Hosts) with (Total # Qlogic HBAs for all Hosts)
  • Max IOPS an HBA Port can generate to any LUN = (QLogic Device Queue Depth per LUN * (1 / (Storage Latency in ms/1000)))

Sources: To what value should the HBA Execution Throttle be set?, QLogic FC HBA in an EMC Environment, What is the Execution Throttle relationship to Queue Depth?

I will add here any new formulas that I come across in my daily vAdmin tasks or I come across when reading RSS feeds from my fellow bloggers🙂

About PiroNet

Didier Pironet is an independent blogger and freelancer with +15 years of IT industry experience. Didier is also a former VMware inc. employee where he specialised in Datacenter and Cloud Infrastructure products as well as Infrastructure, Operations and IT Business Management products. Didier is passionate about technologies and he is found to be a creative and a visionary thinker, expressing with passion and excitement, hopefully inspiring and enrolling people to innovation and change.
This entry was posted in Uncategorized. Bookmark the permalink.

2 Responses to Tons of Formulas For My Virtual Infrastructure

  1. Pingback: Tweets that mention Tons of Formulas For My Virtual Infrastructure « DeinosCloud -- Topsy.com

  2. deinoscloud says:

    From my RSS feeds I stumbled on this great article titled ‘Finding a Better Way to Estimate IOPS for VDI’. It is full of formulas for VDI environments whether it is View or XenDesktop actually. Read more at http://community.citrix.com/display/ocb/2010/10/31/Finding+a+Better+Way+to+Estimate+IOPS+for+VDI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s