Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何同时写入多个磁带机?_Windows_Performance_Drive - Fatal编程技术网

Windows 如何同时写入多个磁带机?

Windows 如何同时写入多个磁带机?,windows,performance,drive,Windows,Performance,Drive,我试图同时将一个流写入多个磁带,但遇到了一个巨大的性能问题 操作系统:Windows 2008 R2 磁带机:2*ULT3580-HH4 HBA:Dell SAS 6gbps控制器 当前,写入循环如下所示: ReadFile(fromsource,buffer) foreach(ltodrive) WriteFile(todriveX,buffer) foreach(ltodrive) // only if using overlapped IO EndWriteFile(ltodriv

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

操作系统:Windows 2008 R2 磁带机:2*ULT3580-HH4 HBA:Dell 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/秒

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

是我缺少什么还是硬件问题

最好的