http://blog.synology.com/blog/?p=2225

Executive Summary
This article, intended towards IT Professionals, is a follow up towards my previous article, How to measure IOPS for Windows will be covering how to measure IOPS consumption of Guest VMs from VMware which is commonly asked when using our Synology products. This information can be used to aid in diagnostics of the storage performance on the VMware Hypervisor, or can be used to determine storage performance capacity of the storage array or a new deployment of a storage array. Using this process does require familiarity with determining IOPS from Windows. This article contains a proof-of-concept method of gathering data from a VMware Hypervisor to determine the IOPS consumption of the Guest VMs hosted by the Hypervisor.

Problem: IT Professionals needs to determine the amount of IOPS on Guest VMs in VMware
Just as there were questions on how to identify IOPS consumption on Windows, there are plenty of requests made to me to help determine and analyze the IOPS consumption of guest VMs within VMware. This was originally covered in the IOPS – Performance Capacity Planning Explained article; however, there was no method of recording and analyzing the data. The procedure below provides the full details on how to record IOPS data from VMware, and then using techniques from the measuring IOPS from Windowsarticle, will illustrate how to analyze the data from guest VMs.

Procedure – Collecting data for IOPS measurement

    1. Have the Guest VMs operating
    2. Run this command in the esxcli
      1. For complete background information about this command, please refer to VMware KB 1006797
      2. esxtop –b –a –d 2 –n 43300|gzip -9c> outputFileName.csv.gz
      3. “–b” Run in Batch mode
      4. “–a” Record all parameters, this is useful for future reference
      5. “–d” Delay Time between samplings, shortest delay is two seconds
      6. “–n 43300″ Number of iterations
      7. “|gzip -9c>” gzip the output datafile
      8. “outputFileName.csv.gz” is the file name
    3. After the data collection is completed, move the file to “/vmfs/volumes/datastore1″
    4. Use the vSphere Client to download the file from the datastore to a Windows Desktop
    5. Use perfmon to iosolate the data to the specific Guest VM that requires analysis
      1. For further background information about using perfmon to isolate data, please refer to Microsoft TechNet Article
    6. Open perfmon from a Windows Computer
    7. Remove all the current counters
    8. Right click on the white field, and click Properties
    9. Click on the Source Tab
    10. Select the decompressed csv file
    11. Click Apply
    12. Observe the date range become active
      1. Adjust the date range if it is needed
    13. Click Ok
    14. Right Click, and click Add Counters
    15. Add the counters
      1. For Background Information about the VMware Counters, please refer to Interpreting esxtop Statistics article
      2. \Physical CPU\
        1. % Util Time\Total
      3. \Memory\Free MBytes
      4. Virtual Disk
      5. \Avg ms/Read
      6. \Avg ms/write
      7. Cmds/sec
      8. MB Read/Sec
      9. MB Write/Sec
      10. Reads/Sec
      11. Writes/Sec
        1. VMs Mount Points. iSCSI or NFS is displayed here. The data isolation can be set to a specific Guest VM, or a specific storage entity.
    16. Right Click on the white field, and click Save Data As
      1. Save the data as a CSV
    17. Open the isolated data file in Excel and begin sorting columns of data for easier analysis.
    18. The following values were calculated
      1. Write/Read IOP Cluster
      2. Average IOP Cluster
      3. Concurrent Throughput
    19. Generate the graphs as before with the Windows IOPS Collection procedure

Description of Counters

  1. \Physical CPU\% Util time\Total
    • Total CPU Utilization
  2. \Memory\FreeMBytes
    • Amount of Free Memory on the Hypervisor
    • VirtualDisk
      1. \Avgms/Read
        1. Average latency time in milliseconds for each read IOP
      2. \Avgms/Write
        1. Average latency time in milliseconds for each write IOP
      3. Cmds/sec
        1. Number of IOPS
      4. MBRead/Sec
        1. Megabytes Read Per Second
      5. MBWrite/Sec
        1. Megabytes Written Per Second
      6. Reads/Sec
        1. Number of Read IOPS
      7. Writes/Sec
        1. Number of Write IOPS

Procedure – Processing the data
In my example, I used a VMware ESXi 4.1 Host to gather the data for about two hours for a proof-of-concept. I did test the commands against a new deployment of ESXi 5.1 – and it produced the same results, with respects of collecting data. The data that I collected isn’t accurate as it was Win7 install procedure, mostly peak behavior, and not production use data. The ESXi 4.1 machine I was using is part of my lab use – which is in semi-production use on a day-by-day basis, and is not part of a permanent VDI solution.
To download an example of this VMware IOPS data, please download the measuring VMware IOPS sample file.. The file is about 2MB in size when decompressed.

Procedure – Analyzing the data

  • VMware Guest IOPS over time
    • Comprised of Write/Read IOPS over time with percentile analysis based on the highest values out of read, write or concurrent of the individual Guest VM.
    • This data, for the Guest VM (or storage entity) will provide the basis of analysis for determining the IOPS consumption of the array.
  • VMware Guest IOP Block Size over time
    • Comprised of Write/Read IOP Block Size over time, displayed in KB.
    • This data will show the average IOP block size that is experienced by the storage array. This data can help gauge what kind of storage array performance is needed.
  • VMware Guest Throughput over time
    • Comprised of Write/Read Bytes/Sec over time, displayed in MB/Sec. This data will determine the basic infrastructure needed to support the storage array.
  • Vmware Guest Latency over time
    • Comprised of Write/Read Latency over time, displayed in milliseconds.
    • This data can be used to identify any latency errors.
  • VMware Host CPU Utilization over Time
    • This graph is used in conjunction with all other graphs in scale, to determine the processor utilization with respect to other aspects of the storage array.
  • VMware Host Memory Utilization over time
    • This graph is used in conjunction with all other graphs in scale, to determine the memory utilization with respect to other aspects of the storage array.
  • Summary Analysis
    • Considering that this is a proof-of-concept test – the data being generated isn’t 100% accurate. However, if I had to make a decision of what kind of storage array that is needed to support a VM that is utilizing around 700 IOPS at the 95th percentile, I would strongly consider using a Synology XS+ Series RackStation for my storage.

Summary
With this procedure IT Professionals are able to collect the IOPS data being consumed from the Guest VM itself. This information is useful for determining the current storage performance utilization of the current array, or can be used to aid in the deployment of a new storage array, such as a Synology XS+ Series RackStation.

References

  1. Synology Blog – How to measure IOPS for Windows
  2. Synology Blog – IOPS: Performance Capacity Planning Explained
  3. VMware KB – 1006797 – Using performance collection tools to gather data for fault analysis
  4. Microsoft TechNet – Open Log Files in Performance Monitor
  5. VMware Community – Interpreting esxtop Statistics
  6. Measuring VMware IOPS Sample File Note: 1.6MB File

How to measure IOPS for VMware的更多相关文章

  1. [转] Vmware vs Virtualbox vs KVM vs XEN: virtual machines performance comparison

    http://www.ilsistemista.net/index.php/virtualization/1-virtual-machines-performance-comparison.html? ...

  2. 【VMware虚拟化解决方案】 基于VMware虚拟化平台VDI整体性能分析与优化

    一.说一说 本来打算将前期项目里面出现的问题的分析思路与解决方法写出来,第一.疏导一下自己的思路,第二.分析并找出自身在技术层面所存在欠缺.但由于每个人都有一根懒经所以迟迟未动.今天突然发现51CTO ...

  3. VMware vSphere 服务器虚拟化之十六 桌面虚拟化之VMware Horizon View

       VMware vSphere服务器虚拟化之十六 桌面虚拟化之VMware Horizon View  VMware Horizon View (原VMware View的升级版现在版本5.2)是 ...

  4. VMware vSphere学习整理

    知识点整理 内存选择 一般来说,每个虚拟机需要的内存在1~4GB甚至更多,还要为VMware ESXi预留一部分内存 2个6核的2U服务器配置64GB内存,4个6核或8核心的4U服务器配置128GB或 ...

  5. VMware vSphere 5.x 与 vSphere 6.0各版本功能特性对比

    各版本中的新特性及功能对比:   VMware vSphere 5.0 VMware vSphere 5.1 VMware vSphere 5.5 VMware vSphere 6.0 ESXi 5. ...

  6. vmware目录2

    http://www.globalknowledge.com/training/course.asp?pageid=9&courseid=17880&country=United+St ...

  7. VMware的存储野心(上):软件定义、分布式DAS支持

    ChinaByte比特网 http://storage.chinabyte.com/291/12477791_2.shtml 11月29日(文/黄亮)- SDN(软件定义的网络,Software De ...

  8. 【VMware虚拟化解决方案】配置和部署VMware ESXi5.5

    [VMware虚拟化解决方案]配置和部署VMware ESXi5.5 时间 2014-04-08 10:31:52  让"云"无处不在的博客原文  http://mabofeng. ...

  9. vMware存储:SAN配置基础

    VMware存储不仅仅是将LUN映射给物理服务器这么简单.VMware vSphere允许系统管理员在一个物理机上创建多个虚拟机. 潜在的hypervisor和vSphere ESXi,能够使gues ...

随机推荐

  1. Lucene.Net简介

    说明:Lucene.Net 只是一个全文检索开发包 .查询数据的时候从Lucene.Net查询数据.可以看做是一个提供了全文检索功能的数据库. 注意:只能搜索文本字符串. 重要概念:分词,基于词库的分 ...

  2. Ext.js入门:TabPanel组件(八)

    一:TabPanel组件简介 二:简单代码示例 三:使用iframe作为tab的标签页内容 四:动态添加tabpanel的标签页 五:为tabpanel标签页添加右键菜单 方式一: <html ...

  3. C#中IEnumerable、ICollection、IList、IQueryable 、IQueryable 、List之间的区别

    一:一个简单的例子 int[] myArray = { 1, 32, 43, 343 }; IEnumerator myie = myArray.GetEnumerator(); myie.Reset ...

  4. 记一次Oracle分区表错误:ORA-14400: 插入的分区关键字未映射到任何分区

    https://blog.csdn.net/xdyzgjy/article/details/42238735

  5. python全栈开发day19-面向对象初识

    1.昨日内容回顾 模块:            1.什么是模块,什么是包 py文件就是模块,包是包含一系列py文件(__init__.py)的文件夹. 2.模块的导入相当于相当于执行了导入的模块,首次 ...

  6. 每天减一半。问多少天这个绳子会小于5米?进而得while和for的关系

    一:前提 1.程序 2.结果 3.使用 for的条件只要>5 变化的条件是x/=2 4.进而使用while,得第二种方法 5.结果相同 二:结论 程序可以使用for的必将可以使用while. 其 ...

  7. Codeblocks 常用快捷键

    编辑部分: Ctrl + A:全选Ctrl + C:复制Ctrl + X: 剪切Ctrl + V:粘贴Ctrl + Z:撤销Ctrl + S:保存Ctrl + Y / Ctrl + Shift + Z ...

  8. 求链表的倒数第m个元素

    法一: 首先遍历一遍单链表,求出整个单链表的长度n,然后将倒数第m个,转换为正数第n-m+1个,接下去遍历一次就可以得到结果. 不过这种方法需要对链表进行两次遍历,第一次遍历用于求解单链表的长度,第二 ...

  9. lintcode 最大子数组III

    题目描述 给定一个整数数组和一个整数 k,找出 k 个不重叠子数组使得它们的和最大.每个子数组的数字在数组中的位置应该是连续的. 返回最大的和. 注意事项 子数组最少包含一个数 样例 给出数组 [-1 ...

  10. 玩转SpringCloud(F版本) 三.断路器(Hystrix)RestTemplate+Ribbon和Feign两种方式

    此文章基于: 玩转SpringCloud 一.服务的注册与发现(Eureka) 玩转SpringCloud 二.服务消费者(1)ribbon+restTemplate 转SpringCloud 二.服 ...