我们有一组应用程序,可以将数据从同一系统中的一个系统传输到另一个系统。他们使用WCF C#,并进行连续一次传输1000个对象的操作。 (接收到数据后,接收方应用程序通知发送方发送更多数据)

我想通过在给定时间内传输更多数据来优化流程,并在考虑以下两个选项中的哪一个更好:

  • 大大增加转移数量。越大越好,使其像50000个对象。通过批量处理,这将减少每个数据从用户进程空间转移到网卡所花费的时间。
  • 使传输数量小于1460,这是我们的网络路径MTU。例如,如果一个对象为100字节,则传输12个对象,并留出一些用于http和soap header 的余量。这样可以避免重新组合TCP段并加快接收速度。 (这将避免过多的RAM使用问题)

  • 您能否说出哪种选择更好,还是可以尝试其他方法以加快传输速度?

    最佳答案

    我认为您的问题不是传输到网卡的速度。

    请告诉我们更多有关此数据迁移的信息
    -它来自平面文件吗?
    -您是否要更改数据?
    -在另一端需要什么类型的数据?

    我在猜测-但我希望您必须更改数据。如果只需要移动数据,则有许多快速的方法可以移动大文件(例如ftp或其他标准)。

    如果要更改数据,则可能是该过程使您放慢了速度-在程序上运行分析器并对其进行优化。

    关于c# - 在数据迁移中传输大数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5481003/

    10-12 22:22
    查看更多