我有一个VMWare ESxi机箱,22GB RAM,Dual Quad Core Xeon,2个SAS驱动器+写入cachingRAID控制器等。
无论如何,有大约30个小XP的虚拟机运行,并开始得到一些非常慢的启动时间和其他性能问题。 我认为它的I / O,但看图不太确定要寻找什么。 任何想法如何寻找将不胜感激。 以下是目前为止的数据:
(我觉得我的IO很高,但不知道该用什么来抵挡)



从2个主轴(磁盘)服务的30个虚拟机可能会遭受IO瓶颈,即使这些虚拟机并不特别是IO密集型(随机或顺序)。 您正在查看30个独立的并发读取请求,这些请求发生在磁盘广泛分隔的区域。 很多时间浪费在地方之间寻找。
如果您可以轻松地使用该选件(备用驱动器插槽或备用shell),则build议您设置第二个驱动器arrays,然后将您的VM迁移到该驱动器arrays。 最小4-6盘 如果只运行在128或256芯片上,另一个改进就是更大的读/写caching。
另一个需要检查的地方是Zypher提到的vCPU分配 – 为每个VM分配太多的vCPU(反直觉地)可能会减慢所有虚拟机的运行速度(每个虚拟机必须等待其每个vCPU的空闲内核它可以获得CPU时间,所以一个4vCPU的虚拟机可能比一个2vCPU的虚拟机获得更less的周期)
编辑:多想一下,也有一些locking问题,你可能会遇到这么多的虚拟机在一个LUN上。 在各种虚拟机操作过程中,您可能会遇到每个数据存储区锁,可能会打开/挂起等。这将开始相当快地堆积起来,因此可能会导致启动缓慢等。 您可以通过在相同的驱动器空间量内设置单独的数据存储(将当前分区的大小调整为一半,然后在空白处创build一个新分区,在数据存储区之间均匀分布虚拟机)来解决此问题。 每个数据存储大约15 Vms是一个很好的最大值。
您想查看esxtop并阅读手册,尤其是第4.2.2节“延迟统计”和“4.2.3队列统计”。
您可以对您的esx商店进行基准testing(同时在几个虚拟机上运行iotop),以查看这些图表为您提供的读/写磁盘速率。 你真的只能比较你自己的存储。 同时观看esxtop,看看DAVG和QUED如何改变。
我并不惊讶30个虚拟机在两个磁盘上变慢。
至于SATA vs SAS vs SSD,这基本上是他们的速度和成本的顺序。 所以,如果你有钱,需要的速度,移动到SAS甚至SSD。 但是你也可以先看一下RAID 10的RAID盘。