「知识库」关于提高VMwareWorkstations运行速度的终极方案

关于VMwareWorkstations(下称:vmw)的运行速度已经成为很多小伙伴入门后需要解决的最重要的问题,没有之一。很多人和我一样在跑通vm后兴奋没几天就发现,如果把vmw当成生产力工具,总是不尽人意,动不动就会瞬间卡顿一下;

我花了半年时间做了各种观察和测试,现在把测试结果、应用建议给各位大神做个汇报,便于你们后期可以有效、有指向性的去处理具体问题:

第一环节:vmw和同门大哥esxi的对决

怀疑vmw慢的原因开始真的像很多人理解的那样,vmw仅仅是一个个人桌面的沙盒容器,主要应用于各种软件测试,慢是天生的。

我为此专门试了一些大厂的esxi的虚拟机,发现人家的产品果然丝滑,于是我就坚定了这个信念,vmw慢一定是因为这是个桌面软件产品,无法和专业的服务器产品比拟,所以人家的同门师兄esxi很丝滑,而Workstations动不动就卡顿。

我就找了一个周末,花了一下午时间把esxi装好了,信心满满的运行虚拟,结果和之前没啥两样,该怎么卡还是怎么卡。

结论:第一环节失败


第二环节:返回WindowsServer,继续装回vmw,在网上寻求他人的解决办法。

翻遍了互联网,提高vmw的运行速度大约有这么几个主流答案:

1、修改vmw的硬件环境,什么打开cpu的虚拟化、设置内存、调整预留空间、设置优先级选项等等…… 【结论:没毛用】

2、把vm的虚拟机磁盘设置到固态硬盘上运行。【结论:是快了,但是还是卡顿】

3、我怀疑vm虚拟磁盘文件,多文件和单文件的效率优势,官方有句话引起我注意——

vm添加硬盘的截图

既然拆分多个文件可能降低大容量磁盘的性能,那我就用单文件。测试完以后效果并不明显,还是随机的卡。

题外话:vm的那种卡顿让人很无语,还不是那种持续的卡顿,而是随机的零点几秒的卡顿,无论你把机器调整的再快,配置给的再高,它运行速度确实会加快,但是该卡还是卡。会给你造成一种错觉:快也是真的快,卡也是真的卡。好像是两条平行线的事情。


第三环节:我在反思这种卡往往在什么情况下出现的多

1、我觉得既然加了配置速度确实快了,但仍然出现的卡顿会不会和显示方面有关,于是我给服务器装了一块显卡,卡顿还是会出现;

2、我又觉得会不会是磁盘格式问题:于是我把vmw所有的磁盘格式都测试了一遍,没有什么惊喜。

vm虚拟磁盘选择

3、我又恍惚的怀疑:人家vm根本不卡,会不会是我远程桌面rdp远程桌面没有设置好呢?这个瞬间被我否定,为啥人家阿里云那些大厂虚拟机就那么丝滑。


第三环节:找到了问题的症结

这个问题已经困扰了我半年时间了,我是把vm当生产力工具的,除了几个vm发布网站对外服务,我还把我编程用的工作环境也改成了云模式,每天在哪儿上班,随便找个能远程桌面的电脑,连上我的云桌面,我就能工作。这种模式已经让我舒服的不要不要的,所以我必须要解决这个随机卡顿的问题。

这一天我在做一个压缩包软件开发的时候,灵光一现,认为这一定还是硬盘的问题,vm磁盘文件无论是单文件还是多文件,本质上就是一个或多个压缩包,vm的虚机执行,其实就是读写这些压缩包(虚拟磁盘文件),逻辑想清楚了,就可以验证了……

某大厂的磁盘读写速度测试

某大厂的磁盘测试

从上图可以看到,人家大厂磁盘运行是非常稳定的,平平的一根线,波动非常小。

再看看我的——

我的vm虚拟磁盘

我的虚拟磁盘跟吃了伟哥一样兴奋,这就是咱们vmw偶尔随机卡顿的原因,不用我再多解释了吧,我们单机磁盘抖动是正常的,但有一个阈值范围,所以我们一般操作单机感觉不到,但虚拟机的虚拟磁盘就没啥范围了,资源宽松它就就快,资源紧张它就等待就卡,这就是造成大幅度抖动的罪魁祸首。这里说的资源特指当前物理磁盘的I/O的带宽(和你cpu内存没关系)。

大厂使用了高级的磁盘阵列各种措施解决这个问题,我们要解决就还是要本着物美价廉的方案来,谁也没那个实力给家里塞一个磁盘阵列柜;


解决方案一共有两个:

普通对外服务的虚拟机(跑网站、应用)可以不用理它,道理很简单:硬盘就算再慢也快过网络几兆的网络带宽,访问者是感觉不到的。

要解决的是咱自己用的云电脑(生产力工具),这种卡会让强迫症抓狂的……

解决方向有两个:要么是降低磁盘读写的抖动(为每个虚拟机保存最低的磁盘读写资源),两外一个方案是提高磁盘的I/O带宽。

方案1:插入一块全新的硬盘,构建虚拟机的时候选择——

选择使用物理硬盘

选择独占整个硬盘

“选择独占整个硬盘”道理很简单,如果你只使用单个分区,其实还是在和别的应用共享磁盘带宽。选择独占以后,其实就已经相当于一台单机了,只是内存CPU还在共享宿主机而已。

这时候你做完系统以后就会发现,你拥有了一个媲美大厂的,操作丝滑的虚拟机,这个方案是vmw里性能最好的方案,但是它毕竟独占了一个硬盘,硬盘虽然不贵,但是机箱资源有限,你说你想多开几个高性能虚机,有几个硬盘位够你用呢?


方案二:多方兼顾的解决方案

给电脑里插入一块M2接口的固态硬盘,这个接口I/O更宽,把它作为缓存盘使用。

1、按照正常模式制作虚拟机系统。

2、做完系统后把虚拟机文件进行分离。一个虚拟机其实有三大部分 虚拟机配置文件、虚拟磁盘文件、和运行后的虚拟内存文件。

3、把配置文件和虚拟内存文件放到你的固态硬盘上,虚拟硬盘文件还放到你现有的普通硬盘上。


我是用两个物理磁盘解决问题

N盘是普通机械硬盘,Z盘是M2固态硬盘;


缓存盘结构1

缓存盘结构2

上图就是缓存盘结构,存着某个虚拟机的基本信息和运行时候的虚拟内存,


普通虚拟硬盘文件

这个机械硬盘区放的是虚拟磁盘文件。

这种结构的好处是你无需再为了性能给每个虚拟机配置一个独立硬盘,M2缓存盘的加入为原本紧张的磁盘I/O提供了一倍的带宽扩容。

经测试:这样配置以后虚拟机肉眼可见的丝滑了,但偶尔会有极个别的卡顿(毕竟不如独占硬盘那么爽),但是绝对可以接受。

一个误区需要注意:这里主要加强了磁盘的I/O,和磁盘速度没太大关系,所以一块固态不一定能解决问题,但两个固态用上述方案会更好的解决问题,我之所以用机械盘,主要还考虑到数据备份等问题,毕竟便宜。


最后的话:我说的丝滑顺畅也得根据行业区分,我是个程序员,现在跑程序、编译、一般工作都没问题,但如果你是影视工作者、游戏工作者,可能还需要进一步优化,在这半年解决问题的期间,我东撞西撞的意外发现了很多这方面的知识,比如:vm优化好了,还可以继续优化rdp协议的传输、还可以优化vm虚拟的视频流模式等等,最终可以让一个配置很一般的vm跑出媲美单机的运行状态。

有需要Rdp传输优化软件的,我回头发给你们,会使上面的结果更上一层楼。


欢迎留言交流,新问题我也特别愿意和各位一起讨论。

展开阅读全文

页面更新:2024-03-07

标签:方案   固态   知识库   缓存   磁盘   单机   虚拟机   环节   硬盘   文件   测试

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top