Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.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
C# HTTP获取和写入网络共享比写入本地驱动器慢得多_C#_Httpwebrequest_Network Share - Fatal编程技术网

C# HTTP获取和写入网络共享比写入本地驱动器慢得多

C# HTTP获取和写入网络共享比写入本地驱动器慢得多,c#,httpwebrequest,network-share,C#,Httpwebrequest,Network Share,我有一个C#应用程序,它正在将数据从网站迁移到我们客户的新系统。为了从现有系统中获取文件,我们使用了HttpWebRequest,一旦得到响应,它就会被写入磁盘,然后我们继续下一个文件。非常直截了当。我们的平均吞吐量约为每秒140Mbit。使用多个线程(8到12个)和5到7个进程实例,我能够达到目标吞吐量,但前提是我正在写入本地磁盘。如果我将其更改为写入NAS驱动器,吞吐量至少会下降一半 我尝试过在不同的NAS设备上编写,也在不同的机器上进行了测试,结果相似 我曾尝试在多台机器上运行该应用程序,

我有一个
C#应用程序
,它正在将数据从
网站
迁移到我们客户的新系统。为了从现有系统中获取文件,我们使用了
HttpWebRequest
,一旦得到响应,它就会被写入磁盘,然后我们继续下一个文件。非常直截了当。我们的平均吞吐量约为每秒140Mbit。使用多个线程(8到12个)和5到7个进程实例,我能够达到目标吞吐量,但前提是我正在写入本地磁盘。如果我将其更改为写入
NAS驱动器
,吞吐量至少会下降一半

我尝试过在不同的NAS设备上编写,也在不同的机器上进行了测试,结果相似

我曾尝试在多台机器上运行该应用程序,将数据写入同一NAS,这确实有帮助,但我最多有三台机器,而且仍然没有与我的单台机器的本地磁盘写入性能相匹配

我还没有尝试使用两个NIC运行(他们正在为我设置一个测试环境,以便我在圣诞节后尝试)。这是我能想到的唯一一件可能有帮助的事情,尽管我很困惑,因为所有机器上的NIC都是千兆位的,所以即使我是最大化了,我也不会有

这是一个windows环境。Windows 7、Windows server 2008


是否有任何注册表设置可以提供帮助?我已经研究过了,但这似乎只适用于传入的数据,并且只有当多媒体应用程序也在运行时(媒体播放器、IE等)

这是一个很好的问题,请回答,这只是一个建议,您的问题可能更适合ServerFault。在网络通信中存在一些固有的附加延迟。请记住,必须接收和解释请求,并且必须发送数据。所有这些都是根据你所使用的协议进行的,这个协议可能是为比这个复杂得多的事情而设计的——这意味着可能会有很多事情发生而不需要发生。另外,另一方仍然需要从其本地驱动器读取数据……什么是NAS驱动器?使用其他传输方法(SMB、FTP)或从另一台计算机传输时,您的写入速度能否超过140 Mbit的一半?谢谢大家,现在我正在测试我们即将推出的生产设备,这些设备有两个NIC(公共和专用),我能够最大限度地提高办公室的传入吞吐量@Surjit,我担心这是一个编码问题,幸运的是不是。从现在起,我将记住ServerFault。这是一个很好的问题,欢迎大家提问。建议您的问题可能更适合ServerFault。网络通信中存在一些固有的附加延迟。请记住,必须接收和解释请求,并且必须发送数据。所有这些都是根据你所使用的协议进行的,这个协议可能是为比这个复杂得多的事情而设计的——这意味着可能会有很多事情发生而不需要发生。另外,另一方仍然需要从其本地驱动器读取数据……什么是NAS驱动器?使用其他传输方法(SMB、FTP)或从另一台计算机传输时,您的写入速度能否超过140 Mbit的一半?谢谢大家,现在我正在测试我们即将推出的生产设备,这些设备有两个NIC(公共和专用),我能够最大限度地提高办公室的传入吞吐量@Surjit,我担心这是一个编码问题,幸运的是不是。从现在起我会记住你的错误。