通过网络复制文件时出现性能问题-C#/命令行

时间:2018-10-16 10:00:44

标签: c# performance file cmd copy

最近在将文件从一台Windows服务器复制到另一台Windows服务器(我将它们称为服务器A和服务器B)时遇到了一些问题,在使用某种语言的任何复制方法时,复制速度非常慢(使用C.中的File.Copy),甚至只是命令行工具(例如XCopy,Robocopy和基本的Copy命令),都可以在大约2-3秒内将一个文件从服务器A复制到服务器B。

如果我从本地计算机运行C#程序或命令提示符,并且文件仍位于服务器A上,并且仍在复制到服务器B,则复制操作将以正常速度运行,在几分钟左右的时间内即可复制5,000个文件,而在服务器A上运行程序/命令提示符仅需一分钟即可复制少量文件。

我也尝试在服务器B上运行程序和命令提示符,但是结果与服务器A相同,复制速度非常慢。

我已经用不同的文件类型,不同数量的文件,不同的复制位置(包括与不同服务器进行复制),不同的驱动器对此进行了测试,但是结果始终是相同的。

在第三台服务器C上运行程序/命令提示符,而文件A上的文件仍复制到B上,问题是相同的。但是,在第四台服务器D上执行相同测试时,它以正常速度运行!我们将该程序在该服务器上运行了一周,每天复制少量文件,直到最终遇到与服务器A,B和C相同的问题,然后又回到了第一个问题。

所有服务器都在运行Windows Server 2008 R2 Enterprise,并且在复制测试期间观察Resource Monitor / Task Manager时没有磁盘活动/ cpu / ram峰值。我们从来没有遇到过任何问题,而且似乎突然发生了,而且我们不确定是什么原因造成的。

对此的任何帮助都将是非常有用的,因为我们对它的工作方式非常困惑,而不会在我的机器上初始化复制操作。

0 个答案:

没有答案