gpt4 book ai didi

c# - 适用于 Windows 和 Linux 的同一台机器上的套接字

转载 作者:太空宇宙 更新时间:2023-11-04 14:27:40 25 4
gpt4 key购买 nike

与 Windows 和 Linux 上的命名管道和其他方法相比,在执行 IPC 时使用套接字的效率如何?

现在,我在 4 个需要通信的独立盒子上有 4 个独立的应用程序。两个是在 Windows Server 2003 R2 上运行的 .NET 3.5 应用程序。两个是 Linux (Suse Linux 10)。它们通常不受 CPU 限制。流量不是那么大,但低延迟非常重要。我们现在正在使用禁用 nagle 的套接字,并在 linux 机器上安装 sles10 慢启动补丁。

您认为只要在同一个 windows 机器上运行两个 windows 应用程序并在同一个 linux 机器上运行两个 linux 应用程序并且不做任何代码更改(即仍然使用套接字),我们会得到多少速度提升。

操作系统会意识到端点在同一台机器上并且知道不要将数据包传到以太网吗?他们的数据包是否仍然需要通过整个网络堆栈?如果我们花时间更改为命名管道或内存映射文件或其他东西,速度会快多少?

最佳答案

至于 TCP 性能,我最近在 HP-UX 服务器(8 个 Intel Itanium 2 处理器 1.5 GHz 6 MB,400 MT/s 总线)和 Red Hat Linux(2 IA-64 1 ,6 GHz)。我用了iperf为了测试TCP性能。我发现,与在两台不同机器上运行 iperf 相比,在同一台机器上运行 iperf 时,TCP 交换速度要快十倍以上。

您也可以尝试一下,因为其中有您可能感兴趣的选项 - 读取或写入的缓冲区长度、设置 TCP 无延迟等。您还可以比较 Windows 机器上的 TCP 交换速度,因为有一个用于 Winddws 的 iperf 版本。

这是一个更详细的比较:

1) 在不同 HP-UX 服务器上运行的两个 iperf 应用程序之间的 TCP 交换速度,默认 TCP 窗口 32K:387 Mbits/sec

2) 在不同 HP-UX 服务器上运行的两个 iperf 应用程序之间的 TCP 交换速度,TCP 窗口 512K:640 Mbits/sec

3) 在同一 HP-UX 服务器上运行的两个 iperf 应用程序之间的 TCP 交换速度,默认 TCP 窗口 32K:5.60 Gbits/sec

4) 在同一台 HP-UX 服务器上运行的两个 iperf 应用程序之间的 TCP 交换速度,默认 TCP 窗口 512K:5.70 Gbits/秒。

5) 在同一 Linux 服务器上运行的两个 iperf 应用程序之间的 TCP 交换速度,TCP 窗口 512K:7.06 Gbits/sec

6) 在 HP-UX 和 Linux 上运行的两个 iperf 应用程序之间的 TCP 交换速度,TCP 窗口 512K:699 Mbits/sec

关于c# - 适用于 Windows 和 Linux 的同一台机器上的套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2501141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com