您的位置:首页 > 运维架构

vsphere 性能优化及最佳实践

2017-08-20 10:44 204 查看
转载 http://www.360doc.com/content/16/0225/11/22078350_537242602.shtml 使用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界面展示

1) CPU load average

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

2) number of worlds

ESXi服务器的worlds数量;

3) PCPU UTIL(%)

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

4) PCPU USED(%)

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

5) 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的使用率。

6) %USED

CPU核心循环使用,这个值是物理CPU对应到World的时间百分比。系统服务所消耗的World的计数也在其中,它的计数单位有%SYS这个服务,通常情况下,这个服务的开销时间会被计算进去。否则,将会计入%OVRLP用作World的补充。%USED的计算公式为:%USED = %RUN+ %SYS - %OVRLP的值当VM的%USED的值较高时,意味着VM开销了大量的CPU资源,此时,可以打开worlds的下拉菜单去查看到底什么业务导致了这样的高CPU资源开销;

7) %SYS:

这个是系统服务消耗world时间的百分比。它可能包含和系统服务相关的一些指令、系统worlds等底层业务开销; 阀值阀值为20%,当大于20%时,可能是由于VM的I/O过高导致;

8) %VMWAIT:

虚拟机等待一些VMkernel活动(比如I/O)完成后才可以继续工作,包括% SWPWT和“blocked”,但不是空闲时间(类似%WAIT)。如果此值过高达到100%则可能是由于存储性能问题或者虚拟机的某个设备延迟造成,比如USB设备、串行通信设备。

9) %SWPWT:

计数器显示一个VM等待交换页面从磁盘读取需要多久的时间。 阀值阀值为5,高于此值则可能是内存过载;

10) %MLMTD:

统计VCPU准备运行的时间百分比, 阀值阀值为1,此值一般都为0,如果大于可能是由于设置了CPU limit,删除此限制以获得更好的性能;

11) %CSTP:

如果虚拟机使用了VSMP,显示了虚拟机在co-deschedule状态下准备运行的时间百分比。 阀值阀值为3,造成此的原因可能是vSMP过多,需要减少此虚拟机的vCPU数量。

12) %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)。

13) %RUN :

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

2. 内存

1) MCTLSZ



程序回收物理机内存的总量; Amount of
guest physical memory (MB) the ESXi Host is reclaiming by balloon driver。 阀值阀值为1,如果此值大于零,则说明内存负载过大,此时主机会强制虚拟机回收过量的内存

2) SWCUR



已经被VMKernel进行交换的内存。 阀值阀值为1,如果大于零,可能是内存过载。

3) SWR/s,



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

4) SWW/s



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

5) Memory Status:



high有足够的空余内存 Soft空闲内存小于4%:物理机回收内存。 hard空闲内存小于2%:主机开始交换,此时主机性能会降低; low空闲内存小于1%:esxi主机会停止给虚拟机分配更多的内存;

6) ZIP/S与UNZIP/S



ZIP/S值大于零表明主机正在积极的压缩内存 阀值阀值为0,如果大于零,说明主机在积极的压缩内存,造成此的原因可能是内存负载过大。
UNZIP/SValues larger 0
indicate that the host is accessing compressed memory.
阀值阀值为0,表明主机内存之前过量使用

3. 网络

1) %DRPTX, %DRPRX, %DRPTX

数据包传输下降,丢包率
阀值阀值大于1表示网络利用率较高 %DRPRX数据包接受率下降 阀值阀值大于1表示网络利用率较高


2) Used-by/Team-PNIC:



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

4. 磁盘

1) GAVG

DAVG + KAVG
阀值:阀值25

2) DAVG



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

3) KAVG

VMKernel造成的延迟



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

4) ABRTS/s



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

5) RESETS/s



每秒钟命令重置的数量
阀值阀值为1。

6) DISK



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

阀值阀值为20
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  性能优化 esxtop