QUIC 能够多大程度提高系统吞吐量

2024-01-12 11:45:27 +08:00
newshbb  newshbb

现在面临 QUIC 与常规 TCP 的选型,现在的一个考量是对服务器资源的要求,比如 1core / 1G 可以支持多少并发连接,我们的连接场景是有几百万保活长连接,未来会突破千万,但是数据量极少,主要流量也就是维持个心跳。当前我们使用 raw udp ,没有流控,一台 2core 的 VPS 勉强可以维持百万连接,虽然很省,但是缺点也很明显。也许大家会说硬件不值钱,不过我们的确很穷,让大家见笑了

4153 次点击
所在节点   宽带症候群  宽带症候群
29 条回复
opengps
opengps
2024-01-12 11:48:15 +08:00
说硬件不值钱不是让你死命的优化提升软件,而是你业务总有涨到单硬件扛不住的程度,当你一台扛不住时候,你有必要去设计成支持集群的结构来增加服务器硬件。
换句话说,不太好听,硬件增加成本要比软件的优化成本低很多
newshbb
newshbb
2024-01-12 11:52:10 +08:00
@opengps 说了不讨论这个
Kinnice
Kinnice
2024-01-12 11:53:22 +08:00
udp ? 维持连接?
zzhaolei
zzhaolei
2024-01-12 11:54:36 +08:00
几百万甚至突破千万的保活怎么还会没钱?业务不挣钱?
newshbb
newshbb
2024-01-12 11:56:01 +08:00
@Kinnice 逻辑意义上的连接
newshbb
newshbb
2024-01-12 11:56:55 +08:00
请大家讨论技术
zengxs
zengxs
2024-01-12 12:11:46 +08:00
quic 不会比 udp 吞吐量更高,你这种场景基本上没啥能优化的了,raw udp 基本上就是吞吐量最大的方案
其他的优化看看调调内核参数管不管用吧
zengxs
zengxs
2024-01-12 12:15:16 +08:00
#4 楼说的也没毛病,完全不赚钱的业务可以考虑砍掉或者降低发包频率
技术都是为业务服务的,完全脱离业务讨论技术不现实
DefoliationM
DefoliationM
2024-01-12 12:19:22 +08:00
理论上 quic 可以连接数更多,quic 只需要监听一个 udp 端口,连接由自己生成的 id 确定,不像 tcp 需要 socket 四元组绑定。
PureWhiteWu
PureWhiteWu
2024-01-12 12:31:14 +08:00
技术上说,quic 性能开销比 raw udp 大不知道多少。。。。

raw udp 已经是开销最低的方案了。
PureWhiteWu
PureWhiteWu
2024-01-12 12:32:58 +08:00
或者这么说吧:
tcp 和 udp 一样是四层的,udp 论开销和性能比 tcp 强;
quic/http3 是 7 层协议,并且强绑定 TLS 1.3 (不然没法用),这开销不是一个量级的。
ShinichiYao
ShinichiYao
2024-01-12 12:35:48 +08:00
硬件增加成本要报账,码农优化代码成本 0 ,但总有再怎么抽码农鞭子也挤不出硬件资源的时候。回到技术:QUIC 可以比 TCP 提高吞吐量,你甚至可以基于实际业务手搓一个 MUIC 协议来最大化吞吐量,不过既然当前已经都 UDP 了再怎么优化也提高不了多少
pengtdyd
pengtdyd
2024-01-12 12:35:57 +08:00
Google 声称 QUIC 将 Google 搜索响应的延迟减少了 3.6%

所以为了这点百分比,真的要花大力气切到 QUIC 吗?
PureWhiteWu
PureWhiteWu
2024-01-12 12:43:09 +08:00
说 QUIC 性能好延迟低,是外网弱网环境下,和基于 TCP 的 HTTP/HTTP2 + TLS 对比,而不是和 raw udp 对比。

可以先了解一下 QUIC 发明的背景和要解决的问题。
kuituosi
kuituosi
2024-01-12 12:45:55 +08:00
QUIC 协议非常复杂,简单业务场景根本不划算
0o0O0o0O0o
0o0O0o0O0o
2024-01-12 12:49:08 +08:00
感觉哪怕相对于基于 TCP 的 TLS ,QUIC 应该也没有理由在节省成本方面有优势,没有内核支持没有硬件加速,需要消耗更多的 CPU ,宣传重点似乎都在客户端一侧(减少 rtt 提升用户体验),看一些大厂分享的 QUIC 性能优化的经验文章也是尽可能减少用户空间的开销。何况你是和 raw udp 比。

- https://github.com/lxin/quic
- https://github.com/microsoft/net-offloads/blob/main/quic-encryption-offload.md
- https://lwn.net/Articles/903826/
- https://developer.volcengine.com/articles/7268132377786843147

没有实测的条件和需求,理解有误请纠正我
0o0O0o0O0o
0o0O0o0O0o
2024-01-12 12:53:28 +08:00
victorc
2024-01-12 14:29:23 +08:00
一台 8core vps 一个月 1000 块钱,一个高级马龙一天的工资都不止这个数,做生意要会算账
tulongtou
2024-01-12 14:31:27 +08:00
@victorc 高级张继科的工资止这个数么🐶
ZSeptember
2024-01-12 14:44:12 +08:00
细说 raw udp 的问题是什么。
什么方案都要看业务场景,能用 udp 说明可靠性就没那么重要,为什么要换呢。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1008070

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX