Conversation
|
这个不重要 我好像发现从8.3到8.29之间让回环测试暴跌了将近一半 |
This comment was marked as outdated.
This comment was marked as outdated.
|
似乎来自 这个timeout太重了 |
|
那可能是猜错了 |
|
总之确实是从这个版本开始掉了一堆速度 那堆commit里没什么改buffer行为的 就这个commit了 |
|
也可能是中间那个buffer管道没了导致的 可能这个buffer有点必要 |
|
po 下变慢的 回环测试 看看? |
这个测试是 curl 拉 speed.cloudflare.com 已经吃满 100% CPU 了 很确定就是那个commit的问题 我已经重编译试过了 客户端问题 |
|
是write方向是因为这是客户端socks5 write回curl |
17bbad1 to
d5f17ab
Compare
|
我在 v2rayng 上实测了一下 socks outbound -> 电脑端 socks in freedom out -> iperf3 |
我的问题 没说清楚 再仔细看了一下 调用链出在vless outbound的getResponse的buf.Copy的write方向 |
|
好像是这样 看来有时候没有中间商赚差价反而会导致速度变慢 |
|
可以 我稍候在我这个setup试下vless ws |
|
就是这个问题 我试了一下通过非常反模式的方法解决writev问题的话速度就可以回去 甚至比8.3还要快(以非常dirty的方法向量化了整个SingleRrader带来的提升?) |
|
客户端 Android 服务端 Windows iperf3 怎么测都是新版好一点。。 download 平均 313 Mbits/sec --- cpu 占用 upload 325 Mbits/sec --- cpu 占用 要不你把你那边测试最优的发个 build 我再试试 |
|
再看一眼数据 似乎 download 总是 upload 的两倍 cpu。。是哪里拷贝了两次吗? |
|
那很奇怪了 |
|
你这里面还有pipe调用 似乎是来自mux 把mux关了试试 |
|
对了 这个pr本身还是ready to merge的 测试了可以用 热循环里Gosched()肯定不对 |
|
@yuhan6665 |
3bcc247 to
7b2795b
Compare
7b2795b to
8c0d32f
Compare
|
可以合并了吧 |
|
加入了测试结果:我这个带宽太小所以数值过低 不太严谨 但是可以确认新版 copyv 有提升 download 313 Mbits/sec upload 325 Mbits/sec 我看了一下代码 我觉得 4mb 在有些场景还是挺大的 我们加个 env var ? |
|
是我记错默认的pipe buffer了 现在没问题了 从policy拿bufferSize然后除上8192算出channel buffer size |
b439ac6 to
42214c3
Compare
|
简单测试了下 无问题 |
|
|
|
刚发现一点小问题 我先把主线滚回去了 让我再看一下() |
|
@RPRX @yuhan6665 |





减少滥用 runtime.Gosched() (在有buffer的情况下几乎每次write执行一次 对go调度器压力很大)
在土制小测试中可以让 mux cool 的复制效率提升大概 100% 不过test是双端一起的 不知道对服务端的提升大不大
不知道这样稍微改变一点点行为会不会影响别的part