物理 RAM 如何影响文件复制?

物理 RAM 如何影响文件复制?

我的设置:

源服务器和目标服务器(安装在 M1000e Dell 机箱中):

  • Dell Poweredge M620(刀片服务器)
  • 2 个 Intel E5-2650 @ 2GHz 处理器
  • 192GB 内存 (DDR3,1333Mhz)
  • Perc H310 Raid 控制器(每个插槽 6Gbe)
  • 2x 1.7TB SSD(Sata)驱动器(RAID-0)
  • 2x 10Gbe NIC(MS-Team、交换机独立、动态、所有适配器均处于活动状态)

  • Windows 2012 R2(默认安装)

  • 系统管理页面文件

  • 服务器连接到内部机柜的 Force10 MXL 10Gb 交换机

  • 已配置巨型数据包(NIC 和交换机端口)

用例:

当在源服务器和目标服务器之间复制(Windows 复制)一个大文件(超过 200GB)时(无论在哪个方向 - 都会发生),复制开始时的传输速率稳定在 ~1GB/s(尽管我预计 ~2GB/s),然而,在传输的剩余时间里,传输速率在某个地方下降到几 MB/s(!)。
请参阅下图以获得更清晰的视图

在此处输入图片描述

看起来 RAM 正在影响我的复制操作。
它如何影响以及为什么会影响它?

答案1

  • 服务器之间的带宽为10Gbit/s。
  • SSD 的带宽为 6Gbit/s,其中约 4Gbit 是净写入速度

因此在第一阶段,文件数据以接近 10Gbit/s 的速度传入,其中 4Gbit/s 被移动到磁盘,而 4Gbit/s 留在缓存中。

大约 100 秒后,一半的缓存已填满,因此 Windows 开始限制传输,但传入数据加上缓存刷新仍然超出 SSD 的处理能力。这会导致更多的缓存填满。

当可用 RAM 最终达到下限(或脏缓存大小达到上限)时,Windows 会将传输限制到接近零,以允许缓存刷新跟上。

当所有脏数据都已移动后,传输速度将再次加快并达到平衡(除非传输结束)。

要移动大文件,最好使用使用文件写入的软件O_DIRECT,当然 Explorer 不会这样做。

相关内容