Hyper V 上的磁盘延迟较高(平均磁盘写入时间为 20 毫秒至 100 毫秒)

Hyper V 上的磁盘延迟较高(平均磁盘写入时间为 20 毫秒至 100 毫秒)

我在一台 12 GB、i7 服务器上运行 Hyper V,其中运行着 5 台虚拟机。我感觉虚拟机运行得相当慢,但内存消耗和 CPU 利用率不值一提,因此我启动了性能监视器,发现有两个指标似乎相当高:平均磁盘写入:40 毫秒 - 100 毫秒平均磁盘读取:部分高达 60 毫秒

(见截图:性能监视器

我认为这些数字相当高,但我不是 100% 确定。有人可以证实吗?可以做些什么来减少延迟?

更新 1:根据此页面监控磁盘使用情况来自 MicrosoftPhysicalDisk:磁盘时间百分比不应超过 90% 且PhysicalDisk:当前磁盘队列长度不应超过 1.5 到 2。但是,我的服务器上的值大大超过了这些数字(红色表示队列长度)。我在我们办公室的本地服务器上检查了相同的指标,该服务器具有几乎相同的配置和负载(我不确定磁盘型号/制造商,但它是零售 PC)。这里磁盘时间百分比才20到40左右!

在此处输入图片描述

答案1

如果您最喜欢的咖啡店只有一名咖啡师,而您与四位同事一起出现,那么平均而言,每个人需要更长的时间才能拿到一杯饮料。

同样,虚拟服务器在共享单个旋转磁盘时性能也不会很好。原因很简单:磁盘延迟是大多数计算应用程序中的主要性能瓶颈!当您在多个虚拟机之间共享单个磁盘时,每个虚拟机都必须排队等待磁盘读取/写入,即使服务器只有一个驱动器,速度也足够慢。

典型的小规模、非集群 Hyper-V 服务器磁盘配置示例:

 Disk  Configuration               Function
 C:    RAID-1 mirror (2 disks)     Operating system
 D:    DVD-ROM drive               Installation discs
 E:    RAID-10 array (4+ disks)    Hyper-V Guests

当 Hyper-V 主机拥有众多客户机、托管繁忙的 SQL 数据库服务器或属于 Hyper-V 群集时,您可能需要开始考虑 DAS 或 SAN 选项,这些选项可以提供数十个可供多台计算机同时访问的物理磁盘。在典型的小型企业 Hyper-V 环境中,很少会超过 Server 2008 Enterprise 许可证中包含的 4 个客户机服务器操作系统,SAN/DAS 解决方案通常过于复杂;典型的 1U 或 2U 服务器机箱中可容纳的 6-8 个驱动器可能就足够了。

固态存储(和/或混合存储选项,如英特尔新兴的快速存储技术)成本的下降可能最终会改变规则,但您不能指望多个虚拟服务器链接到单个旋转磁盘时表现良好。

不使用 RAID 的其他潜在后果包括不必要的停机时间和更有可能丢失自最近备份以来写入的所有数据,这些后果甚至比性能影响更为严重。但是,这些问题超出了您最初问题的范围。

答案2

如果你没有提供你正在使用的存储以及它是如何配置的,那么很难回答。在最坏的情况下,你可能在操作系统所在的同一物理磁盘上运行 5 个虚拟机……这将真的放慢速度。

此外,了解这些虚拟机在磁盘 I/O 方面实际执行的操作对于诊断您的问题将有很大帮助。

相关内容