理论上 HTTP3 依赖于 UDP 传输,免除了 TCP 的建连和断连握手,性能应该有很大提升。但是本人使用 h2load (支持 http3 的版本)进行测试发现 HTTP1.1 的性能远高于 HTTP3,不管是客户端与服务器是否在同一台机器上。同机上 HTTP1.1 比 HTTP3 的 QPS 高一个数量级,跨机的情况下 HTTP1.1 比 HTTP3 高 3 倍左右。
服务器使用了 Nginx 官方的 Nginx-quic 版本以及 cloudflare 的 Quiche Patch,这两款均进行了测试,结论都是一致的。
不知道诸位 v 友有没有什么好的建议,是否是我配置的问题(个人感觉没啥过多需要配置的额)?
1
learningman 2021-06-07 21:53:36 +08:00
tcp 有底层的优化,流控啊封包解包啊,UDP 还没做的那么好。
而且 QUIC 更倾向于在恶劣网络环境下用吧,你模拟 200ms 延迟 30%丢包再试试? |
2
monkeyNik OP @learningman 确实,在高延迟高丢包率的情况下传输大文件,HTTP3 的性能要远高于 HTTP1.1 。不过不知道还有没有什么其他场景它擅长,最近还在测试中...😂
|