今天翻面经翻到了一个这个题,我想了一下,好像还是没啥头绪,百度一下也没一个答案,有大佬帮忙解答下吗,谢谢了。
1
xupefei 2021-03-30 16:45:55 +08:00 via iPhone 1
这题也太模糊了。一种可能性是 udp 被运营商 qos 了。
|
2
sagaxu 2021-03-30 16:55:38 +08:00 via Android 1
自己实现的 udp 可靠性不如内核性能高
|
3
Ariver 2021-03-30 17:07:35 +08:00
tcp 连接被复用了。
并不是每次连接都三次握手? |
4
Jooooooooo 2021-03-30 17:37:16 +08:00
效率指的是什么?
|
5
akira 2021-03-30 17:46:16 +08:00
即使 tcp 连接复用,也应该是 tcp 的性能更好的。
猜测可能是海量的数据碎片的情况下,这种情况下 udp 表现可能会没有 tcp 的好 |
6
mhycy 2021-03-30 18:21:48 +08:00 2
需要看 UDP 如何实现拥塞控制与丢包重传,这是和底层实现相关的问题
如果 UDP 没有实现拥塞控制只实现丢包重传的话 那么在大数据量的情况下,数据会因为溢出缓冲区或者拥堵丢包而等待重传,此过程会引入延迟 具体情况具体分析,没有细节只能泛泛而谈的题目 跟连接复用关系不大,因为 UDP 也能实现复用(自己实现上层的拥塞控制逻辑基础上再实现复用逻辑) |
7
killergun 2021-03-30 18:37:38 +08:00
TCP 包合并发送? UDP 没有这个
|
8
drackzy 2021-03-30 18:41:52 +08:00
tcp 可以 bbr
|
9
watzds 2021-03-30 18:55:30 +08:00 via Android
Rpc 还有用 udp 实现的吗,孤陋寡闻了
|
10
shyrock 2021-03-30 19:16:58 +08:00
可能的原因就是这人不会用 udp,否则你 tcp 的任何优化机制我 udp 都可以纳为己用,没道理比不过。
|
11
GGGG430 2021-03-30 19:21:11 +08:00
效率高是指? 如果这公司真在线上 rpc 用 udp, 我劝你别去这家公司
|
13
zls3201 2021-03-30 21:44:06 +08:00
完全是内网? 还是在公网? tcp 是稳定连接 建立后 通讯数据包更小 快一些没问题 长连接比 udp 通讯效率高 不是很正常吗 都不知道 你们在争啥
|
15
angryfish 2021-03-31 07:34:50 +08:00 via iPhone
微服务,我们说 tcp 比 udp 效率应该是服务器之间建立长链接了
@Ariver 虽然不用每次建立长链接。但 tcp 每次传输数据,都要返回确认,而 udp 不需要。理论上,tcp 是不可能比 udp 效率高的 |
16
zqx 2021-03-31 11:39:09 +08:00 via Android
tcp 需要根据滑动窗口大小来控制流量,还要重传,怎么可能比 udp 快?
|