我在想,
第一个问题每个对等体使用一个套接字(全双工)和两个套接字(单工)的优缺点是什么:一个用于读取和其他写入?特别是在性能和资源利用方面。
第二个问题如果我选择每个对等体使用超过1个套接字,那么我就会读写。那么它会帮助我扩展处理没有处理的消息吗?
第3个问题:什么应该帮助我确定每个同伴的套接字数量?网络带宽?消息输入和输出的数量?
所有问题都不同,没有任何相互关系。
答案 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
鲍勃