1

我正在尝试同时将单个流写入多个磁带,但我遇到了一个巨大的性能问题。

操作系统:Windows 2008 R2 TapeDrive:2 * ULT3580-HH4 HBA:戴尔 SAS 6gbps 控制器

目前写循环看起来像:

ReadFile(fromsource,buffer)
foreach(ltodrive)
  WriteFile(todriveX,buffer)
foreach(ltodrive) // only if using overlapped IO
  EndWriteFile(ltodriveX)

驱动器块大小为 256Kib,缓冲区大小为 2Mib。

因此,如果我只使用 1 个驱动器,我设法获得稳定的 110Mib/秒,这非常接近驱动器的最大速度(120Mib/秒),但如果我将另一个驱动器添加到循环中,速度会下降到 25Mib/秒。

正如您在元代码中看到的那样,我已经尝试使写入调用异步,允许所有驱动器开始写入,而不必等待前一个驱动器完成,但这并没有解决问题。

是我遗漏了什么还是硬件问题?

最好的,

4

0 回答 0