2

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

我尝试写入不同的 NAS 设备,并在不同的机器上进行了测试,结果相似。

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

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

这是一个windows环境。“Windows 7、Windows 服务器 2008。”

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

4

0 回答 0