-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
请问您们有没有测过quiche最大吞吐量能跑到多少呢? #10
Comments
测试受限于cpu性能, 我在9700上ping-pong跑大概540-600MB/s. tcp可以到1800MB |
看着差距还是挺大的,请问你使用的是专门跑吞吐的 quiche demo吗? |
专门高度优化后的demo测试quic性能. 性能差距主要发包(sendto. sendmmg) 还有部分在gquic协议栈. |
请问下这个500MB/s是怎么测试的呢,用QUIC做代理统计有效流量还是网卡上传输UDP传输数据包流量?什么条件下测试的呢,一个connection下的一个stream? |
自己写的quic客户端和服务器demo,带宽统计有效stream载荷数据,一个连接一个流(多流不能提升ping-pong性能) 编译优化开了LTO和PGO,使用GCC10.3 和Ubutun 20.04(win WSL2)。 |
经过多年持续度gquic 性能极致优化(基于2023.05版本quiche),剪裁部分功能, 在win10 + wsl2 + 12700 cpu,ping-pong测试能跑出1GB+的带宽性能,单核心处理(收+发)80万+个 quic数据包。
|
有啥优化思路 |
quiche底层的核心数据基本都被换成高性能的数据结构(small vector/map/set/list/hash). 时间和定时器开销不小,采用极致的优化方法减少了大量的不必要的高频调用(90%) gcov 测试各种分支覆盖情况,改进if 判断语句(收发报文核心路径删除大约20% if 语句,去除不常用的部分功能) 最好是内存优化,改进后正常的收发报文过程中不再有动态内存分配。 配合perf+lto 最后分析瓶颈, 都是代码细节问题。密切关注核心路径的每一行代码副作用 |
No description provided.
The text was updated successfully, but these errors were encountered: