C# 在数据迁移中传输大数据

C# 在数据迁移中传输大数据,c#,c++,optimization,networking,network-programming,C#,C++,Optimization,Networking,Network Programming,我们有一组应用程序,可以在同一网络内将数据从一个系统传输到另一个系统。他们使用WCF C#,一次连续传输1000个对象。(接收数据后,接收方应用程序通知发送方发送更多数据) 我希望通过在给定时间内传输更多数据来优化流程,并考虑以下两个选项中的哪一个更好: 显著增加转移量。越大越好,就像50000个物体一样。通过批量操作,这将减少每个数据从用户进程空间移动到网卡所花费的时间 使传输量刚好小于1460,这是我们的网络路径MTU。例如,如果一个对象是100字节,则传输12个对象,为http和soap头

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

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

  • 显著增加转移量。越大越好,就像50000个物体一样。通过批量操作,这将减少每个数据从用户进程空间移动到网卡所花费的时间

  • 使传输量刚好小于1460,这是我们的网络路径MTU。例如,如果一个对象是100字节,则传输12个对象,为http和soap头留出一些余量。这将避免重新组装TCP段并加快接收速度。(这将避免过多的RAM使用问题)


  • 您能告诉我哪个选项更好,或者我是否可以尝试其他方法来加快传输速度吗?

    我认为您的问题不在于传输到网卡的速度

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

    我猜,但我想你一定是在改变数据。如果您只需要移动数据,有许多快速方法可以移动大文件(例如ftp或其他标准)


    如果您正在更改数据,则可能是该过程减慢了您的速度--在您的程序上运行探查器并对其进行优化。

    我认为您的问题不在于传输到网卡的速度

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

    我猜,但我想你一定是在改变数据。如果您只需要移动数据,有许多快速方法可以移动大文件(例如ftp或其他标准)


    如果您正在更改数据,则可能是该过程减慢了您的速度--在您的程序上运行探查器并对其进行优化。

    无论您做什么,请确保您的端点都是使用TCP传输的.NET,这是所有K lvanov中速度最快的—感谢这一技巧!无论您做什么,请确保您的端点都是使用TCP传输的.NET,这是所有K lvanov中最快的—感谢您的提示!源数据是来自设备的测量数据消息。我们用C代码转换数据。该算法不需要花费太多的时间,并且可以通过并行运行更多的程序来减少延迟。请假设目前我的主要瓶颈在网络序列化和传输方面。PS:我们正试图从各个方面改进流程,可以将我们的时间和精力花在网络方面。您正在将数据转换为SOAP以将其传输到目标机器?我将通过WCF使用二进制TCP传输,而不是SOAP。源数据是来自设备的测量数据消息。我们用C代码转换数据。该算法不需要花费太多的时间,并且可以通过并行运行更多的程序来减少延迟。请假设目前我的主要瓶颈在网络序列化和传输方面。PS:我们正试图从各个方面改进流程,可以将我们的时间和精力花在网络方面。您正在将数据转换为SOAP以将其传输到目标机器?我将通过WCF而不是SOAP使用二进制TCP传输。