当前位置: 首页 > 面试题库 >

适用于Windows和Linux的同一台计算机上的套接字

裴和怡
2023-03-14
问题内容

与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 / sec。

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

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



 类似资料:
  • 问题内容: 我想获得Windows和Linux上使用Python的计算机唯一的ID。可能是CPU ID,主板序列号或其他。 我看了几个运气不好的模块(pycpuid,psi,…)。 关于如何做到这一点的任何想法? 问题答案: 如何使用MAC地址作为唯一ID? 此处的讨论使用Python从设备获取MAC地址显示了如何获取MAC地址

  • 问题内容: 在Java中,可以创建套接字服务器和套接字客户端,是否可以运行套接字服务器的实例以及从同一台计算机上的套接字服务器接收数据的套接字/服务器客户端? 例如,套接字服务器在端口60010上运行,套接字客户端在通过套接字连接到该端口的同一台计算机上运行,​​还是我需要一台新计算机并将其添加到网络中?如果它在TCP / IP层上运行时具有唯一的IP地址和端口号。 问题答案: 这是一个简单的可运

  • 我的计算机上安装了Python 3.7。我想使用tensorflow,但刚刚发现它基本上不支持3.7,所以我想(也)安装Python 3.6。 有什么建议吗?我是否必须卸载3.7并将其替换为3.6,或者是否有办法仅将3.6用于与tensorflow相关的内容?

  • 我正在Java中实现TFTP(普通FTP)协议。我有一个客户端和一个服务器,到目前为止,客户端可以请求一个文件,服务器向他发送该数据。 这里是我遇到问题的地方——出于明显的测试原因,我在我的机器上运行客户机和服务器。然而,当发送文件时,必须有两个套接字监听同一个端口: < li >客户端需要侦听收到的数据包 < li >服务器需要监听客户端的确认信息 …以及两个分别用于发送数据和确认的套接字,也共

  • 问题内容: 我的计算机上安装了Python 3.7。我想使用tensorflow,只是发现它基本上不支持3.7,所以我想(也)安装Python 3.6。 关于如何做到这一点的任何建议?我是否必须卸载3.7并将其替换为3.6,或者是否可以仅将3.6用于与tensorflow相关的东西? 问题答案: 使用多个虚拟机来安装多个python的建议方法之一是使用Virtualenv。这使您有可能拥有一个特定

  • 问题内容: Python网站上是否有官方文档,内容涉及如何在Linux的同一台计算机上安装和运行多个版本的Python? 我可以找到成千上万的博客文章和答案,但是我想知道是否有“标准”的官方方式来做到这一点? 还是全部取决于操作系统? 问题答案: 我认为这是完全独立的。只需安装它们,然后即可使用命令例如和。链接到您要用作默认值的那个。 无论如何,所有库都位于单独的文件夹中(以版本命名)。 如果要手