zoukankan      html  css  js  c++  java
  • VMware虚拟机性能优化

    一、ESX及vCenter服务器的优化

    • 检查ESX物理服务器是否在兼容列表中,特别是BIOS的版本是否符合ESX版本的要求
    • 开启ESX物理服务器硬件虚拟化技术VT-X,AMD-V
    • 关闭BIOS中的英特尔SpeedStep和AMD PowerNow的CPU电源节电管理模式。节电模式使CPU低频运行,降低CPU性能。
    • 避免在服务控制台中运行会占用过多 CPU 或内存资源的程序
    • 限定vCenter数据库日志文件的大小或者把数据库日志的恢复模式更改为简单。

        

        

         

    二、虚拟机的优化

     

    • 安装合适版本的Vmware tools,使用vCenter或者vsphere client推荐的版本。

        

        

     

    • 在虚拟机中,断开或禁用未使用的或不必要的物理硬件,例如:com端口、LPT端口、USB控制器,软盘驱动器、光盘驱动器、网络接口等
    • 虚拟机尽量禁用屏保程序和窗口动画,在Linux上禁用X window图形桌面。
    • 虚拟机的备份和防病毒程序运行在非高峰期,并错开计划任务的时间点。
    • 定期做磁盘碎片的整理
    • 配置NTP服务器。
    • 虚拟机要定期清理快照文件。
    • P2V迁移成功后删除原物理硬件相关的驱动程序,删除影子设备。

    三、CPU性能优化

    • 不要过量分配虚拟CPU,尽量减少虚拟CPU的数量。

        虚拟机在多处理器环境下需要处理器的速度一样,如果某个CPU速度快了,需要该CPU跑慢点儿,等待运行慢的CPU跟上。ESXtop命令中%CSTP值较高,说明该虚拟机不需要这么多CPU。
        

    • 将主机上或资源池中其他虚拟机的 CPU 使用情况与此虚拟机的 CPU 使用情况值进行比较。
    • 确定虚拟机CPU就绪时间过长是否由其 CPU 使用情况时间达到CPU 限制设置所致。如果出现这种情况,请增加虚拟机上的CPU 限制。
    • 增加 CPU 份额以给予虚拟机更多机会运行。
    • 增加分配给虚拟机的内存量。减少应用程序的磁盘和网络活动,这可能会降低磁盘 I/O,并减少 ESX主机对虚拟化硬件的需求。
    • 如有必要,请在主机上升级物理 CPU。
    • 启用节省CPU功能(例如 TCP 分段卸载、较大内存页面、巨型帧等)。

    四、存储的优化

    • 存储设备的兼容性检查,包含Firmware的版本。
    • HBA兼容性检查
    • 配置存储网络的冗余路径,存储处理器是主动和被动模式,使用MRU,主动和主动模式使用FIXED。
    • 相同读写类型的应用,尽量不用放在同一LUN上。
    • 根据虚拟机读写的带宽,放在不同raid组的LUN上。
    • 使用厚磁盘的模式性能优于精简磁盘。

        厚置备延迟置零:默认的创建格式,创建过程中为虚拟磁盘分配所需空间。创建时不会擦除物理设备上保留的任何数据,没有置零操作,当有IO操作时,需要等待清零操作完成后才能完成IO,即:分配好空间,执行写操作时才会按需要将其置零;
        厚置备置零(thick):创建支持群集功能的厚磁盘。在创建时为虚拟磁盘分配所需的空间。并将物理设备上保留的数据置零。创建这种格式的磁盘所需的时间可能会比创建其他类型的磁盘长。即:分配好空间并置零操作,有IO的时无需等待任何操作直接执行。
        精简置备(thin):精简配置就是无论磁盘分配多大,实际占用存储大小是现在使用的大小,即用多少算多少。当客户机有输入输出的时候,VMkernel首先分配需要的空间并进行清零操作,也就是说如果使用精简配置在有IO的时候需要:等待分配空间和清零,这   两个步骤完成后才能进行操作,对于IO叫频繁的应用这样性能会有所下降,虽然节省了存储空间。同一个LUN上放置不超过12台虚拟机。

    • 使用磁盘份额区分磁盘的优先级

    五、磁盘I/O性能

    • 增加虚拟机内存。
    • 在所有客户机上整理文件系统碎片。
    • 禁止对 VMDK 文件进行防病毒按需扫描。
    • 使用 Storage VMotion根据虚拟机磁盘IO读写的要求,在不同的磁盘组或者RAID组的LUN迁移 I/O 密集型虚拟机。
    • 使用多路径切换策略,均衡存储的负载。
    • 更改HBA卡的队列深度
    • 删除虚拟机的快照文件
    • 减少vmotion和DRS发生的频率

    六、内存性能优化

      

    • 避免内存的过量分配
    • 仔细精确计算分配给虚拟机的内存量及VCPU数量,减少内存开销
    • 验证是否在每个虚拟机上均安装了 VMware Tools。
    • 如果虚拟机的内存预留值设置大大高于活动内存设置,则减少预留设置,以便 VMkernel 可以在主机上回收空闲内存供其他虚拟机使用。
    • 将一个或多个虚拟机迁移到 DRS 群集中的其它上。

    七、网络优化

    • SC、vmkernel、VM分属于不同的虚拟交换机。
    • 使用VLAN技术
    • 在物理交换机的端口上开启portfast
    • 验证是否在每个虚拟机上均安装了 VMware Tools。
    • 如果可能,使用 vmxnet3 网卡驱动程序,这些驱动程序可用于 VMware Tools。并对其进行了优化,以提高性能。
    • 如果在相同 ESX/ESXi 主机上运行的虚拟机之间相互通信,则将它们连接到相同 vSwitch 以避免通过物理网络传输数据包。
    • 使用NIC Teaming 增加网络带宽。
    • 使用单独的物理网卡处理不同的数据流量,例如由虚拟机、iSCSI 协议、VMotion 任务和服务控制台活动生成的网络数据包。
    • 验证物理网卡的端口速度和双工模式设置符合硬件配置,以便其发挥最大性能。
    作者:星拂晓空
    博客园:https://www.cnblogs.com/xingfuxiaokong
    本文版权归作者所有,欢迎转载,但必须给出原文链接并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    写给自己的2020年总结
    docker镜像与docker容器
    docker安装&docker简介
    windows 安装linux子系统
    typora设置图床
    让Mysql插入中文
    pip 换源
    Unity中如何将一个场景(Scene)的Light Settings复制给另一个场景
    Windows API开发
    【C#】判断字符串中是否包含指定字符串,contains与indexOf方法效率问题
  • 原文地址:https://www.cnblogs.com/xingfuxiaokong/p/11098728.html
Copyright © 2011-2022 走看看