首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows和Linux的同一台机器上的套接字

Windows和Linux的同一台机器上的套接字
EN

Stack Overflow用户
提问于 2009-10-30 00:14:37
回答 2查看 5K关注 0票数 19

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

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

你认为我们在同一个windows机器上运行两个windows应用程序,在同一个linux机器上运行两个linux应用程序,并且不做任何代码更改(即仍然使用套接字),会有多大的速度提升?

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-10-31 00:29:58

至于TCP性能,我最近在一台HP-UX服务器(8个Intel Itanium2处理器1.5GHz6MB,400MT/s总线)和Red Hat Linux (2IA-641.6Ghz)上做了这类测试。我使用iperf来测试TCP的性能。我发现当我在同一台机器上运行iperf时,TCP交换的速度比在两台不同机器上运行iperf快十倍以上。

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

这是一个更详细的比较:

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

2)在不同HP-UX服务器上运行的两个iperf应用程序之间的TCP交换速度,TCP window 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/sec。

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

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

票数 17
EN

Stack Overflow用户

发布于 2009-10-30 00:22:20

本地命名管道会更快,因为它们在内核模式下运行。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1644851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档