vsphere 性能优化建议

使用esxtop命令可以显示针对虚拟化的各类信息,包括cpu、内存、网卡、存储等各类数据的统计。

esxtop有以下8种方式来度量虚拟工作环境性能:

 c:CPU面板显示服务器统计数据以及个人领域、资源池和虚拟机CPU的统计数据;

  m:内存面板显示服务器和分组内存使用的统计数据,与CPU面板相似;

  n:网络面板显示服务器网络使用统计数据;

  i:中断面板显示中断向量的统计信息;

  d:存储适配器面板默认汇总每个存储适配器;

  u:存储设备面板显示服务器存储利用的统计数据;

  V:虚拟机存储面板显示以虚拟机为中心的存储统计数据;

  p:电源面板显示CPU电源利用统计数;

esxtop其他功能:

  f:增加或者删除设置;

  V:在CPU面板和内存面板之间切换View All和View VM Only视图,View VM Only视图会清除不是虚拟机的所有进程;

  2:高亮显示一行,向下滚动;
  8:高亮显示一行,向上滚动;

  S2:两秒刷新一次;

二、 主要功能介绍

  1.  CPU
    

输入esxtop命令,一般默认是显示和CPU相关的界面,如果没显示,可按“c”进行CPU界面展示

22078350_2016022511163703185S8MGDNB9PX7Q

  1.   CPU load average
    

CPU在1分钟、5分钟和15分钟内的负载计算,基于6个范本作为计算对象。

  1. number of worlds
    ESXi服务器的worlds数量;

  2. PCPU UTIL(%)
    每颗PCPU上unhalted CPU cycles的百分比,它平均分布在所有PCPU上。

如果PCPU UTIL(%)的值过高意味着什么呢?这就意味着物理资源被大量占用。如果所有的PCPUs的使用率都逼近100%,则就意味着CPU资源使用的过载。此时,就需要去检查system groups的RDY%值以便验证是否真的是CPU资源使用过载;其次,如果某些PCPUs的PCPU UTIL(%)接近100%,但是有一些却不是这样,则此时就意味着资源调度的不均衡了。此时就需要注意了,最好去监控在过去一段时间里是否这些PCPUs的使用率接近100%,如果是这样,请检查是否为虚拟机配置了CPU亲和性规则,如果有,可尝试接触掉这种亲和性规则的关联指定;

  1. PCPU USED(%)
    这个参数是每颗PCPU的使用百分比,它会平均分布在所有PCPUs上。

PCPU UTIL(%)表示在过去的恒定时间里PCPU多长时间PCPU处于busy(unhalted)状态,PCPU USED(%)则表示则表示在过去恒定的时间里PCPU的有效工作工作状态。PCPU USED(%)这个支持能够更加准确的阐述当下的PCPU资源利用率,因为它综合了各种硬件辅助状态,例如超线程和智能电源管理等模块;

  1. CORE UTIL(%)
    这个选项只有在开启了超线程时出现。这个参数记录每CORE在PCPUs上处于unhalted状态时的CPU cycles百分比,它会平均分布到所有的COREs上。当PCPUs里的CORE都处于halted状态时,它会取与“CORE IDLE”状态相反的百分比值,并提取这个值作为CPU cycles的百分比;
    在batch mode下,会显示每颗PCPU对应的“CORE UTIL(%)”,因此,PCPU 0 和PCPU 1会有相同的“CORE UTIL(%)”数目,例如Core 0 的“CORE UTIL(%)”;PCPU UTIL(%)和COREUTIL(%)的差异到底在哪里?当PCPUs里的CORE被使用时,则CORE一定是出于Utilized状态,CORE的使用率百分比不一定等于PCPUs的使用率百分比的总和。CORE0的使用率大于等于任意一颗PCPU的使用率,同时又小于等于PCPU0加PCPU1的使用率。

  2. %USED
    CPU核心循环使用,这个值是物理CPU对应到World的时间百分比。

系统服务所消耗的World的计数也在其中,它的计数单位有%SYS这个服务,通常情况下,这个服务的开销时间会被计算进去。否则,将会计入%OVRLP用作World的补充。

%USED的计算公式为:%USED = %RUN+ %SYS - %OVRLP的值

当VM的%USED的值较高时,意味着VM开销了大量的CPU资源,此时,可以打开worlds的下拉菜单去查看到底什么业务导致了这样的高CPU资源开销;

  1. %SYS:
    这个是系统服务消耗world时间的百分比。它可能包含和系统服务相关的一些指令、系统worlds等底层业务开销;

阀值
阀值为20%,当大于20%时,可能是由于VM的I/O过高导致;

  1. %VMWAIT:
    虚拟机等待一些VMkernel活动(比如I/O)完成后才可以继续工作,包括% SWPWT和“blocked”,但不是空闲时间(类似%WAIT)。

如果此值过高达到100%则可能是由于存储性能问题或者虚拟机的某个设备延迟造成,比如USB设备、串行通信设备。

  1. %SWPWT:
    计数器显示一个VM等待交换页面从磁盘读取需要多久的时间。

阀值
阀值为5,高于此值则可能是内存过载;

  1.    %MLMTD:
    

统计VCPU准备运行的时间百分比,

阀值
阀值为1,此值一般都为0,如果大于可能是由于设置了CPU limit,删除此限制以获得更好的性能;

  1.    %CSTP:
    

如果虚拟机使用了VSMP,显示了虚拟机在co-deschedule状态下准备运行的时间百分比。

阀值
阀值为3,造成此的原因可能是vSMP过多,需要减少此虚拟机的vCPU数量。

  1.    %RDY:
    

VM等待被调度时间的百分比。通常情况下world等待被CPU调度机制调度到PCPU时,就会产生%RDY值,它的全称是CPU Ready Time。因此它通常情况下都是小于100%的,为什么呢?因为物理的CPU的资源是有限度的;

参考信息:
%RDY就是一个重要的标尺,当系统产生了%RDY值后,理论上都意味着CPU资源的不足导致了争用。但是,这不是绝对的,因为如果管理员有针对虚拟机的vCPU设定Limit时,此时,虚拟机可以调度的CPU资源量将会被局限在手动设定Limits范围内,此时,即使有足够的PCPU资源,依然会在VM上产生%RDY。那么,如何鉴别这个问题呢?此时,就涉及到我们接着要说的另一个参数“%MLMTD”。注意,%RDY值会包含%MLMTD的。例如,当CPU发生争用情况时,我们可以使用 “%RDY - %MLMTD” 来鉴别真实的情况,如果 “%RDY - %MLMTD”的值较高,例如大于20%时,即可定性为CPU资源不足导致了CPU争用情况的出现。反之,如果这个 “%RDY - %MLMTD” 的值较小,例如5%,则意味着此时不一定会有物理CPU的资源不足情况,也就不存在CPU资源争用的情况,所以20%为一个临界值;

阀值
阀值为10%,可能是由于虚拟机的VCPU、SVMP过多导致,或者是vCPU做了限制(请检查%MLMTD)。

  1.    %RUN :
    

这个是world已调度运行的总计时间百分比;

当VM的%RUN值过高时,就意味着VM使用大量的CPU资源,当然这并不意味着虚拟机的资源不足了,如果要确认是否虚拟机的CPU资源不足,则还需要去看看%RDY值,因为%RDY值才是评判CPU资源紧缺的参考依据;

  1.  内存22078350_201602251116370365USUXYL0SVKJIK
    
  1. MCTLSZ
    22078350_2016022511163704129RSI6TQJRF8X1

程序回收物理机内存的总量;

Amount of
guest physical memory (MB) the ESXi Host is reclaiming by balloon driver。

阀值
阀值为1,如果此值大于零,则说明内存负载过大,此时主机会强制虚拟机回收过量的内存

  1. SWCUR
    22078350_201602251116370427HGSI7HHJTAXIW

已经被VMKernel进行交换的内存。

阀值
阀值为1,如果大于零,可能是内存过载。

  1. SWR/s,
    22078350_201602251116370427HGSI7HHJTAXIW

主机读取交换内存的速度

阀值
阀值为1,如果大于零,说明esxi主机积极读取交换内存,可能的原因是内存过量使用

  1. SWW/s
    22078350_201602251116370427HGSI7HHJTAXIW

物理主机写入交换内存的速度

阀值
阀值为1,如果大于零,说明esxi主机积极写入交换内存,可能的原因是内存过量使用;

  1. Memory Status:
    22078350_201602251116370443XBQU1OMZLFG02

high
有足够的空余内存

Soft
空闲内存小于4%:物理机回收内存。

hard
空闲内存小于2%:主机开始交换,此时主机性能会降低;

low
空闲内存小于1%:esxi主机会停止给虚拟机分配更多的内存;

  1. ZIP/S与UNZIP/S
    22078350_201602251116370443XBQU1OMZLFG02

ZIP/S
值大于零表明主机正在积极的压缩内存

阀值
阀值为0,如果大于零,说明主机在积极的压缩内存,造成此的原因可能是内存负载过大。

UNZIP/S
Values larger 0
indicate that the host is accessing compressed memory.

阀值
阀值为0,表明主机内存之前过量使用

  1.  网络
    
  1. %DRPTX, %DRPRX, %DRPTX
    数据包传输下降,丢包率

阀值
阀值大于1表示网络利用率较高

%DRPRX
数据包接受率下降

阀值
阀值大于1表示网络利用率较高

22078350_201602251116370459EQQT20EAN0HMY

  1. Used-by/Team-PNIC:
    22078350_201602251116370505KP5EYJ7Q3UUBS

可以看出目前虚拟机所使用的网卡是vmnic2还是vmnic3

  1.  磁盘
    
  1. GAVG
    DAVG + KAVG

阀值:
阀值25

  1. DAVG
    22078350_201602251116370521SEPDBX3RMPWMK

阀值
阀值为25,由于数据造成磁盘延迟;

  1. KAVG
    VMKernel造成的延迟

22078350_201602251116370521SEPDBX3RMPWMK

阀值
阀值为3,当值过高时意味着有排队情况的发生

  1. ABRTS/s
    22078350_201602251116370537H94QNEP21UE2T

阀值
阀值为1,不管任何原因造成的路径访问失败或者数据无法接受I/O信息,因为存储没有响应而终止虚拟机的发布,默认windows虚拟机为60秒钟。

  1. RESETS/s
    22078350_201602251116370552P5MPPRGHGPGQM

每秒钟命令重置的数量

阀值
阀值为1。

  1. DISK
    22078350_201602251116370552P5MPPRGHGPGQM

SCSI
Reservation Conflicts per second. If many SCSI Reservation Conflicts occur
performance could be degraded due to the lock on the VMFS.

阀值
阀值为20

转载于:https://blog.51cto.com/122269875/1957766

猜你喜欢

转载自blog.csdn.net/ximenjianxue/article/details/107096013
今日推荐