当前位置: 首页 > news >正文

VMware虚拟机提速10招

为什么80%的码农都做不了架构师?>>>   hot3.png

第一招:升级到最新版本
当然这招适用的前提是您原来运行的是VMware ESX Server 2.x的版本。如果您是VMware的新用户,你可以直接跳过这招。
VI3是VMware最新的企业级虚拟化产品,较老版本相比有显著的性能提升,VMware优化了ESX Server的好多组件,例如:VI3里的虚拟机开始使用PAE内存,可以访问到16GB的内存,而原来的版本最多可用到的内存只有3.6GB;VI3中的虚拟网络性能也大大改善;VMFS3是VMFS家族的新成员,不仅仅是简单的升级版本,而是改善了性能和扩展能力;虚拟机对服务控制台的依赖降低;ESX 3.0主机可以支持Broadcom的网卡数多达20个,而最多支持的Intel e1000网卡更是多达32个。 关于具体的硬件最大支持能力,请参考VMware的支持列表,可以从下载。
第二招:升级服务器的CPU和内存
这招是新购硬件时要重点考虑的。原来在购买服务器时,大多依赖于应用部门提出的要求。部署了虚拟化之后,建议用户尽可能买高端服务器,可以很方便的提升整个资源的利用率,可以提供资源的调度灵活性等。当然,所谓的高端服务器,主要是指CPU和内存的配置要高端。
在进行CPU选择时,要考虑CPU的效率,CPU运作高效是虚拟架构高效的重要前提,有时候,发热过高会导致CPU性能急剧下降。如果可能,尽量配置多核、多颗CPU。
当然,内存的性能也很重要。VMware建议ESX Server至少配置8GB内存,当然多多益善,每台ESX Server最多可以支持64GB内存。在虚拟机配置时,尽可能避免内存过载,虽然VMware可以处理过载,但是内存过载会导致在内存和硬盘之间进行交换,这会严重影响系统性能。
第三招: 提升服务器的存储
提升存储性能显然可以改善很多系统的性能,如果可能的话,建议使用外部存储,这可以避免内置存储性能导致的瓶颈。
你可以安装多个磁盘控制器或尽可能多的磁盘来提高系统的性能,当然,在规划虚拟机时,也要考虑虚拟文件存放的分布问题,特别时面对高I/O的虚拟机。当然,具体的I/O配置需要根据应用进行,实际上VMware和我们的合作伙伴提供了很多I/O配置的最佳实践,你可以到VMware的网站下载相关的文档进行参考。
第四招: 优化服务器的网络
在虚拟环境中,尽量配置千兆以太网卡来确保性能,千兆以太网络是VMware ESX Server虚拟架构的推荐配置。当配置物理网卡时,速率和工作模式要和交换机端口的配置一致。 如果只有100Mbps的快速以太网络,建议将网卡和交换机端口的速率/模式设成100/全双工。当配置千兆以太网络时,建议将交换机端口和网卡模式配置为自适应。
配置多块网卡时要使用teaming功能,将多块网卡封装称一块虚拟网卡,增加带宽的同时,提高了可靠性,当然也可以简化管理。如果配置了千兆网卡,建议使用vmxnet或e1000虚拟网卡,尽可能不用vlance网卡。
第五招: 在服务器上适当分布虚拟机                                                                                                     在VMware ESX 2.x版本中,你可以根据自己对虚拟机负载的判定,手动将不同负载的虚拟机进行组合,分布到不同服务器,确保负载的均衡,这是一个手工的过程,并且往往很难做到准确判定。并且,由于虚拟机创建方便,可能经常会有些虚拟机创建好了而没有使用,又忘记删除不用的虚拟机。而如果不用的虚拟机也启用了,仍然占用资源。因此,要将不需要运行的虚拟机及时关闭,从而节省资源。
升级到VI3后,虚拟机的分布可以完全自动化,DRS可以帮助管理员完成虚拟机负载的分布,确保每台服务器都有合理的负载运行,这可以大大降低管理员的工作负载,并且由于自动化实现,负载分布会很均匀。在配置了DRS的VI3环境中,配置虚拟机时再也不需要指定具体的ESX Server,而是指定一个资源池,DRS会自动移动虚拟机到合适的ESX Server上去。当虚拟机添加、关闭或删除时,DRS会自动管理所有ESX Server的负载。
如果一台虚拟机没有足够的资源运行,DRS会自动均衡资源池里的虚拟机资源来确保所有虚拟机的运行。如果资源池资源已经用光,可以简单增加ESX Server到该资源池,这个过程不需要停机。
VI3's DRS功能是基于VMotion实现的,VMotion可以不需停机、在线迁移一台虚拟机从一台物理服务器到另外一台物理服务器,这实际也改善了虚拟架构的性能,让不同的物理服务器资源获得最大限度利用,而不是负载不均衡的配置。
第六招: 谨慎使用远程访问控制台
有时候关闭不用的VMware远程控制台就会使虚拟机的性能大大改善,尽管你可能认为该操作对性能的影响很小。实际上,每个远程控制台(VMRC)进程都会直接消耗ESX Server服务控制台中宝贵的CPU资源。建议尽可能不要通过VMRC连接虚拟机,VMRC是标准的远程访问技术,没有进行任何优化。除非需要进行某些特定的配置,必须使用VMRC,否则建议关闭VMRC。
为了优化性能,你可以使用第三方的远程控制软件,如:Citrix ICA客户端、Microsoft Terminal Service或RDP、Telnet、SSH等来连接远程的ESX Server的服务控制台。当然,有些远程访问方式并不是等同的,VNC可能消耗的资源就比上面提到的几种访问方式大,但仍然比VMRC消耗的资源少。
第七招: 虚拟机CPU和内存配置优化
物理服务器上增加CPU数量和多余内存无疑会提高操作系统和应用的性能,在虚拟的环境中也一样。但是,多CPU和内存共享会增加ESX Server的负载,这种情况要尽量避免。 如果看到虚拟机运行很慢,要检查CPU的利用率,看看每颗CPU的空闲时间是多少,同时也要通过VMware管理界面检查整个系统的CPU利用率。
使用VMware SMP增加虚拟机的CPU数量有时候不能解决虚拟机性能问题,因为有些应用不能利用到多CPU的优势。在启用SMP之前要分析一下操作系统和应用是否能利用SMP来改善性能。如果应用不是多线程或多进程的,启用虚拟SMP只会消耗物理CPU资源,而不能提高虚拟机本身的性能。
要节俭的使用Virtual SMP,大多数情况下虚拟机运行在单虚拟CPU时性能最好。当然,具体情况只能分别对待,需要的话,可以测试一下各个虚拟机的情况。
如果性能差不是CPU导致的,需要检查内存的使用情况。最重要的就是看客户操作系统是否在使用交换内存,如果如此,就要及时纠正。有很多手段来决定是否在使用交换内存,在Linux客户操作系统,你可以使用vmstat命令查看;在Windows平台上,你可以使用“管理工具”下面的“性能工具”来检查每秒的内存页面数。如果某虚拟机的内存页错误很高,如:1000页每秒,此时可以增加其最小内存来避免频繁页交换。如果最低内存大小已经快速逼近最大内存,需要增加资源设定。
您只需要为虚拟机配置需求的内存量就可以了,为虚拟机配置过多的内存并不能改善性能,而如此配置会浪费您宝贵的内存资源。
更改虚拟机最小和最大CPU资源分配值是优化性能的另外一种方法。为了避免CPU资源争抢,配置CPU的最小份额为某适当值,而不是设为零。相反地,为了避免低优先级的虚拟机消耗太多的CPU资源,可以设置该虚拟机的最大CPU份额,如50%,从而确保其他高优先级的虚拟机能够利用到尽可能多的CPU资源。
当然,还可以定义每个虚拟机使用哪个CPU,该配置称为“CPU亲和”(Processor Affinity)。默认情况下这个参数是关闭的,大多数情况下这是推荐配置。只有真的必须时,才需要打开这个选项。
如果有个虚拟机特别耗费资源,你可能才需要设定CPU亲和来隔离这个虚拟机,来确保该虚拟机的性能。当然,这种配置也可以保护该服务器上的其他虚拟机,但是配置了CPU亲和的虚拟机不能进行动态DRS,要特别注意该配置的使用。
第八招: 删除不需要的虚拟硬件
在物理服务器增加或删除硬件都很耗时费力,物理服务器上不用的多余硬件一般都不会影响系统的性能,但是虚拟机的环境完全不同。 删除或关闭虚拟硬件时增加虚拟机性能的好办法,当然可能对性能的影响并不大,但是每个虚拟机很小的性能优化可能会大幅度改善整个服务器的性能。
如果某虚拟机不需要CD/DVD ROM驱动器、软驱、网卡或串口/并口,那么就毫不客气地删除或关闭。如果之后需要,随时可以轻松打开或添加,虚拟硬件的添加相当方便、快速。
 
第九招: 升级VMware Tools
在ESX Server升级或安装补丁后,要及时更新安装在客户操作系统里的VMware Tools。有时,补丁包里保护对VMware Tools的更新,及时更新虚拟机里的VMware Tools是很重要的。
如果你从VMware的其他平台迁移过来的虚拟机,迁移后记得更新虚拟机里的VMware Tools,不同的VMware产品,VMware Tools的版本是不一样的。
在VMware Tools里,要确保ESX Server主机和虚拟机的时间同步,同时运行多个不同的时钟会引起很多不必要的麻烦。当然,如果使用了VMware Tools来进行时间同步,就不要使用其他的时间同步方式,如NTP客户端等。如果您必须使用其他的时间同步机制,那么必须关闭VMware Tools里的时间同步。这种情况出现在Windows活动目录的成员虚拟机上,它们必须同域控制器进行时间同步。

为了确保Windows虚拟机良好的显示性能,可以在Windows虚拟机种启用Windows Display Properties->“Settings”->“Advanced”->“Troubleshoot”->“Hardware acceleration”功能,这可以使VMRC的鼠标移动更为流畅。 具体配置见下图所示。
第十招: 优化Windows客户操作系统
对虚拟机的虚拟磁盘进行碎片整理可以有益于I/O性能的改善,通过第三方基于服务器的磁盘碎片整理工具可以使磁盘的组织结构更为合理。 当然,要合理运行磁盘碎片整理程序,确保在系统空闲时间进行,从而降低对生产业务的影响。
注意:如果虚拟机带回退日志运行,则这招就失灵了。
关闭有些无需的服务和后台进程,也可以虚拟机系统节约资源。当然,禁用某些服务时要小心,确保你要禁用的服务不影响你系统的运行。如果你不能确认一个服务是否是必须的,请咨询系统管理员获得确认,或者创建一个虚拟机的克隆,进行禁用服务影响的具体测试。
下面列出了一些可以在虚拟机里停用或禁用的通用Windows服务。当这些服务并非需要时,请停用他们。当然,这需要根据虚拟机的应用情况具体分析。

转载于:https://my.oschina.net/mj23/blog/285814

相关文章:

  • golang []byte转json和json转[]byte
  • C语言近程型(near)和远程型(far)的区别是什么?
  • 机器学习PAI全新功效——实时新闻热点Online Learning实践
  • 浅谈跨国网络传输
  • CNCF TOC现首张中国面孔,谁说云厂商是开源宿敌?
  • 微软私有云分享(R2)27维护窗口的使用
  • 神仙打架?苹果短暂撤销 Facebook 和 Google 的企业证书
  • Oracle网络公开课《请搭载我们的雷霆战机进行跨平台的数据迁移-可传输表空间》...
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • 阿里云包年包月服务器如何退款
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • linux正则
  • BSON与JSON的区别
  • 【译】分页技术简介
  • Docker学习笔记_安装和使用Redis
  • @jsonView过滤属性
  • Apache的80端口被占用以及访问时报错403
  • CSS 专业技巧
  • Django 博客开发教程 16 - 统计文章阅读量
  • exports和module.exports
  • go语言学习初探(一)
  • HTTP请求重发
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JavaScript创建对象的四种方式
  • JavaWeb(学习笔记二)
  • Python3爬取英雄联盟英雄皮肤大图
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • uva 10370 Above Average
  • Vim 折腾记
  • VUE es6技巧写法(持续更新中~~~)
  • 高性能JavaScript阅读简记(三)
  • 工作中总结前端开发流程--vue项目
  • 讲清楚之javascript作用域
  • 聊聊flink的BlobWriter
  • 前端性能优化--懒加载和预加载
  • 前端知识点整理(待续)
  • 深入浏览器事件循环的本质
  • 手机端车牌号码键盘的vue组件
  • 最近的计划
  • 06-01 点餐小程序前台界面搭建
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • PostgreSQL之连接数修改
  • Spring Batch JSON 支持
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • 通过调用文摘列表API获取文摘
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • #NOIP 2014# day.1 T2 联合权值
  • #QT(智能家居界面-界面切换)
  • $(selector).each()和$.each()的区别
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (分布式缓存)Redis哨兵
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (转载)Google Chrome调试JS