首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VMware虚拟机性能管理和资源在线扩展

导读:以VMware虚拟化平台在性能密集应用场景下的性能设计、优化管理为目的,结合笔者多年的操作经验,总结出虚拟化平台性能设计要点和优化方法,希望对医疗行业广大读者在虚拟化技术应用方面有所帮助。

利用vCenter Server管理界面中的“性能”视图和esxtop性能分析工具,结合虚拟机操作系统中的性能监控工具来分析虚拟化平台的整体性能负载情况,并针对性的提出优化建议来改善虚拟化整体环境的合理性,对于虚拟机系统资源不足或过度分配的情况进行调整,其目的是在保障应用系统性能的情况下更加合理、高效的使用有限的资源。通过规范的设计和调整,有效的提升了虚拟机的性能和业务连续性,以及整体虚拟化平台的利用效率和使用水平。

引言

充足的资源是保障应用程序高效运行的基本条件,所以大部分使用者在创建虚拟机时会尽可能分配较多的CPU和内存资源。事实上该过程未必能够对虚拟机和应用系统的性能提升有帮助。比如,在一个单线程的应用系统上分配多个vCPU,虚拟机的操作系统调度程序会在多个vCPU之间迁移单线程工作负载,该过程会损失缓存的局部性,这些资源需求会转换为物理主机上切实存在的CPU资源消耗,所以这种错误的设计不仅对提升该虚拟机的性能没有帮助,反而浪费了物理主机上的资源。

虚拟机资源规划存在的误区及遵循的原则

1、盲目过多分配和保留不必要的虚拟机资源,反而造成虚拟机性能下降很多使用者会忽略一些虚拟机可能不会用到的硬件设备,比如在创建虚拟机或将物理机克隆转移到虚拟化平台时,虚拟机硬件设备中会生成软盘驱动器、COM端口、USB控制器等设备,这些设备(如USB控制器)运行轮询方案,会消耗额外的CPU资源,某些PCI设备还会预留内存块,使得这些内存块在ESXi主机上被浪费[2]。再比如,Windows客户机操作系统会比较频繁地轮询光驱(CD或DVD驱动器)。当虚拟机配置为使用物理驱动器时,多个客户机操作系统会同时尝试访问该驱动器,造成性能下降。

2 、虚拟机资源规划始终遵循资源配置由少到多的原则笔者通过多年对虚拟化平台的架构设计和使用管理经验,提出以下几点心得体会供广大虚拟机使用者参考。为应用系统规划虚拟机时,要联合应用系统提供者详细了解应用系统的实际需求,以及该应用系统在虚拟化之前的性能表现(在物理服务器上的应用规模、性能负载),判断该应用系统对哪些资源子系统的性能表现敏感,应用系统是科室、部门级还是全院级,就能够相对准确的量化应用系统的规模和对性能的要求,比如应用系统属于密集型且并发量较大的数据库相关的工作负载则需要为虚拟机分配足够的处理器和内存资源;而科室、部门级的轻量级小型应用系统则分配少量的CPU和内存资源;避免根据很少或者根本没有度量的依据来分配资源。为虚拟机分配超过其所需的资源,实际上会降低该虚拟机以及与该虚拟机共享同一主机的其他虚拟机的性能。所以,在设计和创建虚拟机时,要始终遵循虚拟机资源配置由少到多的原则和过程。

VMware虚拟机性能分析方法

通过VMware提供的性能监控分析工具,可监控和掌握整个虚拟化平台的性能数据,包括每个主机、虚拟机、资源池或计算资源的CPU利用率,内存、磁盘、网络的性能负载情况,通过工具找出当前问题和潜在问题的原因。

esxtop是一个内置于ESXi的性能监控工具,提供主机性能的实时可视性。esxtop面板的顶部所显示的4个值分别是正常运行时间、自上次重启系统以来的运行时间、当前运行环境数量和平均负载。平均负载显示了过去 1 分钟、5 分钟和 15 分钟内的平均负载。平均负载为1.00、2.00、0.50,分别表示完全利用了所有物理 CPU、ESXi系统可能需要当前可用数量两倍的物理CPU、ESXi系统上的物理CPU有一半得到了利用。

图1 ESXi主机esxtop输出CPU性能值

图1中所示,当前和过去15分钟内该主机CPU的平均负载处于资源充足的状态。

通常情况下,ESXi管理员排查性能问题要看的第一个指标是CPU就绪时间(%RDY)指标。该指标显示的是虚拟机vCPU(S)访问pCPU的等待时间。从MHz角度,CPU准备时间高并不一定是由pCPU利用率高造成的;更可能是每个主机上的一个或多个虚拟机对vSMP的过度使用或合并所致。另一个原因可能是ESXi主机对vCPU的过量使用。解决虚拟机CPU就绪时间高的性能问题,需要记住esxtop的%RDY指标是特定VM上所有vCPU的总和。分配两个vCPU的虚拟机可具有的最大%RDY时间量度值是200%。正常情况下,一个具有两个vCPU的虚拟机正常%RDY指标为18%-20%,否则就会影响虚拟机的性能。导致%RDY指标高最可能的原因是遇到该问题的虚拟机过度使用sVMP,比如具有8个或更多vCPU的大型虚拟机,通常可调查虚拟机操作系统的实际利用率,可能会发现并不是所有的vCPU使用率都很高,在这种情况下,调整并减少虚拟机的vCPU数量会对性能提升有帮忙,因为这有助于减少%RDY和%CSTP的时间。如图2所示,名称为“ydhl_hisdb_RHEL”的虚拟机,%RDY值和%CSTP值都表明该虚拟机的vCPU数量配置过多。

图2 ESXi主机esxtop输出各虚拟机CPU性能值

由于调整虚拟机的vCPU数量和内存需要在虚拟机关机的情况下进行,该过程会影响24小时服务的应用系统。VMware vSphere ESXi从5.0版本开始,支持CPU和内存热添加功能,该功能支持使用者在虚拟机正常运行的过程中添加CPU和内存资源,这对于某些24小时连续服务的应用系统而言非常有意义。

该项功能的使用条件除vSphere ESXi版本的支持外,还需要虚拟机硬件版本、虚拟机Guest OS的支持,并非所有客户机操作系统都支持 CPU 热添加,表1列出了目前IT环境常用的x86操作系统,并整理出这些OS对CPU、内存热添加功能的支持情况。

表1 常用操作系统对 CPU、内存热添加的支持情况

性能调整方法

经过对ESXi主机和虚拟机在CPU和内存方面的性能分析,对需要调整vCPU和内存容量的虚拟机进行配置。

默认情况下,虚拟机的“内存/CPU热插拔”功能是“已禁用”状态。这是因为启用该功能的时候,会产生开销,为了管理员在任何时刻都可以为虚拟机操作系统增加CPU资源,vSphere会预留增加最多数量CPU所需要的资源。管理员可在创建完虚拟机之后,对可能需要在线扩容的虚拟机开启此功能,以便日后实现对内存和CPU的在线热添加。该功能需要在虚拟机关闭的状态下开启。 此外,目前大部分操作系统仅支持在线添加处理器和内存资源,降低虚拟机配置的过程仍然需要在关闭虚拟机后完成。

结果

在硬件资源配置规模相同的虚拟化集群环境下,合理、正确的规划和分配资源,能够支撑更多的虚拟机和应用系统,且能够保障业务系统的灵活性和业务连续性。

虚拟机性能设计是一个相对复杂的过程,涉及到运行虚拟化平台的一系列硬件技术、ESXi软件、虚拟机操作系统和应用程序。本文仅从如何规划虚拟机CPU资源、提高虚拟机性能和ESXi主机资源利用率的需求出发,结合不同版本的VMware ESXi、GUEST OS和应用场景,通过有针对性的截图示例,对VMware虚拟机的vCPU、内存资源的在线添加方法,以及需要注意的事项进行了说明,以起到抛砖引玉的作用。使广大虚拟化技术使用者能够更加科学、规范的规划虚拟机,减少资源浪费,更加合理的分配主机资源,让虚拟化技术能够更加合理、高效的为医疗信息化建设服务。

文章来源:《中国数字医学》杂志2017年第11期,作者及单位:刘阳 刘谦,中南大学湘雅医学院附属海口医院,海南省人民医院信息管理处。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180109B0K5K800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券