全双工插座与使用的两个插座,一个用于读取,另一个用于写入

时间:2014-09-04 05:12:40

标签: sockets networking duplex

我在想,

第一个问题每个对等体使用一个套接字(全双工)和两个套接字(单工)的优缺点是什么:一个用于读取和其他写入?特别是在性能和​​资源利用方面。

第二个问题如果我选择每个对等体使用超过1个套接字,那么我就会读写。那么它会帮助我扩展处理没有处理的消息吗?

第3个问题:什么应该帮助我确定每个同伴的套接字数量?网络带宽?消息输入和输出的数量?

所有问题都不同,没有任何相互关系。

2 个答案:

答案 0 :(得分:4)

  

使用一个插槽(全双工)与两个插槽一个用于读取和其他写入的优缺点是什么?特别是在性能和​​资源利用方面。

Pro one socket:资源利用率。对一个插座:没有。性能:相同,但如果只使用一个插座,则可以节省连接和关闭握手。

  

如果我选择采用双插槽方式,那么将两者全双工使用都没有用,这样可以帮助我在数据流入和流出方面进行扩展?

现在你要比较苹果和橘子。您无法将一个全双工插槽与两个全双工插槽进行比较。我不知道为什么你认为你可能需要两个入站流和两个出站流,但你不需要。我能想到的每个协议除了FTP只使用一个。

  

网络带宽对它有什么影响?

无。

  

或它有网络利用率?

除了连接和闭合握手之外,没有。但它在两端都浪费了资源。

答案 1 :(得分:0)

我们在iperf 2.0.14中添加了--full-duplex,它将测试全双工套接字。每个-d或--dualtest选项可以将其添加到两个套接字。我们发现“您的里程会有所不同”,对于是否具有同等的性能,没有普遍的答案。从理论上讲,它们似乎应该相等,但实际上,也许不相等。

   -d, --dualtest
          Do a bidirectional test simultanous test using two unidirectional sockets

       --fq-rate n[kmgKMG]
          Set a rate to be used with fair-queueing based socket-level pacing, in bytes or bits per second. Only available on  platforms  supporting  the  SO_MAX_PACING_RATE  socket  option.
          (Note: Here the suffixes indicate bytes/sec or bits/sec per use of uppercase or lowercase, respectively)

       --full-duplex
          run a full duplex test, i.e. traffic in both transmit and receive directions using the same socket

鲍勃