我最近测试了我们从托管服务提供商处获得的存储。我不知道 raid 配置是什么,也不知道存储包含多少个磁盘。
我使用了 Atto Disk Benchmark,它发送了越来越小的文件,请参见附图。我原本期望 I/O 操作会线性改善,大文件的读取/写入速度应该比小文件更快。但我得到的却是这个奇怪的结果。我进行了几次测试,结果相同。
这是一个共享存储,上面连接了多个虚拟机。当然我知道这会造成干扰...但是会给出这样的结果吗?
或者说这个结果是预料之中的?我这里甚至没有谈论糟糕的 I/O 性能 :)
机器操作系统是 Windows Server 2012。如果您需要更多信息,请告诉我。
答案1
请记住,硬盘具有特定的扇区大小。写入通常按扇区进行,因此您应该预期扇区大小以下的速度会降低。此外,大多数 raid 配置要么应用镜像(多个磁盘上的相同数据,加快读取速度,因为只需从 1 个磁盘而不是 X 个磁盘读取信息,但写入必须发送到所有磁盘,因此仅限于最慢的驱动器)、在驱动器之间剥离数据(一些数据放在磁盘 1 上,一些放在磁盘 2 上,读写都会更快)、奇偶校验驱动器或这些技术的组合。
是的,RAID 配置可能会影响速度。但是一般来说,这几乎在所有情况下都会加快读取速度(奇偶校验磁盘可能除外),并且可以加快或减慢写入速度。在条带化的情况下,当您从两个不同磁盘上的两个扇区写入或读取时,您可能会获得更好的速度。
您的写入速度似乎很正常,但我注意到读取操作要慢得多。在大多数驱动器上,读取速度通常比写入信息的速度快。也许主机实际上并不直接执行写入,而是存储它们并缓慢地将它们写出(通过 OS/VM 软件或具有大缓存的磁盘甚至硬件进行缓冲)。
然而不用说,测试结果并不准确,因为在机器上运行多个虚拟机时,速度可能会受到缓存、CPU 使用率、磁盘使用率等的影响。除此之外,您正在写入虚拟磁盘,该虚拟磁盘可能只存储写入操作并在稍后应用它们。
由于没有关于主机上所消耗资源的任何信息,也没有关于扇区大小和 raid 配置的信息,因此无法判断这是否正常。