我正在尝试同时向多个磁带写一个流,但我遇到了巨大的性能问题。
操作系统: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 / sec),但如果我将另一个驱动器添加到环路,速度将降至25Mib /秒。
正如您在元代码中看到的那样,我已经尝试使写入调用异步允许所有驱动器开始编写而无需等待前一个驱动器完成但是没有解决问题。
我有什么遗漏或是硬件问题吗?
最佳,