一、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


本文版权归作者所有,欢迎转载,但必须给出原文链接并保留此段声明,否则保留追究法律责任的权利。

VMware虚拟机性能优化的更多相关文章

  1. 提升VMware虚拟机性能招数

    在VMware虚拟机(VMware Workstation或VMware Server)中我们可以同时运行多个Guest OS,当同时在同一Host OS中运行多台虚拟机时势必会严重影响到Host O ...

  2. VMware 12安装虚拟机Mac OS X 10.10使用小技巧(虚拟机Mac OS X 10.10时间设置,虚拟机Mac OS X 10.10通过代理上网,Mac OS X 10.10虚拟机优化,VMware虚拟机相互复制)

    1:修改Mac OS 系统时间 2:Mac OS系统 通过代理上网 VMware 12安装Mac OS X 10.10虚拟机优化心得 虚拟显卡硬伤,所以必须要优化下才能用,优化的原则就是能精简的精简, ...

  3. 如何优化VMWare虚拟机的运行速度(转)

    虚拟机是个好东西,但是对电脑有一定的要求.尤其对做工控的来说都需要安装一些大型的软件(其中WINCC最难装,对系统要求较高.而且像WIN 7 64位的就别想装上去了,如果改系统后那4G以上的内存不就浪 ...

  4. Citrix 服务器虚拟化之十三 Xenserver虚拟机内存优化与性能监控

    Citrix 服务器虚拟化之十三   Xenserver虚拟机内存优化与性能监控 XenServer的DMC通过自动调节运行的虚拟机的内存,每个VM分配给指定的最小和最大内存值之间,以保证性能并允许每 ...

  5. 推荐收藏系列:一文理解JVM虚拟机(内存、垃圾回收、性能优化)解决面试中遇到问题(图解版)

    欢迎一起学习 <提升能力,涨薪可待篇> <面试知识,工作可待篇 > <实战演练,拒绝996篇 > 欢迎关注我博客 也欢迎关注公 众 号[Ccww笔记],原创技术文章 ...

  6. JVM虚拟机详解+Tomcat性能优化

    1.JVM(java virtual mechinal) ()JVM有完善的硬件架构,如处理器.堆栈.寄存器当,还具有相应的指令系统. ()JVM的主要工作时解释自己的指令集(即字节码),并映射到本地 ...

  7. 从虚拟机视角谈 Java 应用性能优化

    从虚拟机视角谈 Java 应用性能优化 周 祥, 软件工程师, IBM 简介:Java 的普及和广泛应用,以及其基于虚拟机运行的机制,使得性能问题越来越重要.本文从 Java 虚拟机的角度,特别是垃圾 ...

  8. JVM性能优化系列-(3) 虚拟机执行子系统

    3. 虚拟机执行子系统 3.1 Java跨平台的基础 Java刚诞生的宣传口号:一次编写,到处运行(Write Once, Run Anywhere),其中字节码是构成平台无关的基石,也是语言无关性的 ...

  9. VMware 虚拟化编程(9) — VMware 虚拟机的快照

    目录 目录 前文列表 VMware 虚拟机的快照 快照的执行过程 删除快照 快照类型 Quiseced Snapshot 前文列表 VMware 虚拟化编程(1) - VMDK/VDDK/VixDis ...

随机推荐

  1. 第11 章 : 可观测性:你的应用健康吗?(liveness和readiness)

    课时 11:可观测性:你的应用健康吗?(莫源) 本次课程的分享主要围绕以下五个部分: 介绍一些整体需求的来源: 介绍在 K8s 中 Liveness 和 Readiness 的使用方式: 介绍在 K8 ...

  2. 从HotSpot VM源码看字符串常量池(StringTable)和intern()方法

    引言 字符串常量池(StringTable)是JVM中一个重要的结构,它有助于避免重复创建相同内容的String对象.那么StringTable是怎么实现的?"把字符串加入到字符串常量池中& ...

  3. CSS3新增了哪些新特性

    一.是什么 css,即层叠样式表(Cascading Style Sheets)的简称,是一种标记语言,由浏览器解释执行用来使页面变得更为美观 css3是css的最新标准,是向后兼容的,CSS1/2的 ...

  4. Google不兼容ShowModalDialog()弹出对话框的解决办法

    <script type="text/javascript"> //弹窗函数 function openDialog() { var url = "https ...

  5. OO第四单元总结暨OO课程总结

    一.第四单元作业总结 本单元的主要任务是对 Uml 图元素进行管理和查询,测试一开始会输入一个静态图,之后会对图中相关内容进行查询. 第13,14次作业 第14次作业新增内容很少,故与第13次作业放在 ...

  6. OO UNIT 1 个人单元总结

    面向对象课程--第一单元个人总结 作业分析 第一次作业 概要 本次作业主要对简单幂函数的多项式进行求导计算,要点在于对输入字符串的处理,利用正则表达式匹配即可,并且需要对输出表达式的长度进行优化. 度 ...

  7. Java集合--Java核心面试知识整理(二)

    目前CSDN,博客园,简书同步发表中,更多精彩欢迎访问我的gitee pages 目录 JAVA集合 2.1 接口继承关系和实现 2.2 List 2.2.1 ArrayList(数组) 2.2.2 ...

  8. Spring Security OAuth2 实现登录互踢

    背景说明 一个账号只能一处登录,类似的业务需求在现有后管类系统是非常常见的. 但在原有的 spring security oauth2 令牌方法流程(所谓的登录)无法满足类似的需求. 我们先来看 To ...

  9. YARP实现Dapr服务调用的反向代理

    楔子 公司即将新开项目,打算用点时髦的技术,需要探探路.之前没做过微服务项目,没有技术栈方面的积(负)累(债), 干脆就上微软的分布式运行时Dapr......嗯......用来服务发现,然后等测试用 ...

  10. JAVAEE_Servlet_03_Servlet对象生命周期

    Servlet的对象声明周期 * 什么是对象生命周期? - 生命周期表示一个JAVA对象从创建到销毁的过程是一个生命周期 * Servlet对象生命周期 1. Servlet对象创建 无参构造 2. ...