Skip to content
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

关于速度的一些疑问或建议 #674

Closed
rhjdvsgsgks opened this issue May 7, 2020 · 7 comments
Closed

关于速度的一些疑问或建议 #674

rhjdvsgsgks opened this issue May 7, 2020 · 7 comments
Labels

Comments

@rhjdvsgsgks
Copy link

rhjdvsgsgks commented May 7, 2020

平常使用自建服务器用vmess+ws+cdn+Nginx下载速度一直在1m/s左右,前几天在使用某游戏启动器下载资源时速度达到了惊人的10m/s,查看v2ray的日志发现该启动器使用了并行下载所以速度很快。根据这个案例我产生了一个设想,v2ray有没有(或是有没有意愿添加)并发的功能,把一个tcp连接拆成多个(与mux正好相反)从而突破一些服务端和客户端之间单条tcp连接能达到的速度上限

在此基础上还有一个想法,使用cdn的时候我观察到速度一开始是比较快的,后来就会慢慢降低,如果让v2ray在速度低于某个值时创建新的连接,速度更低的时候关闭之前速度降低的旧连接,以此循环,就像多个锯齿波叠加在一起,在宏观上使网速维持在了一个相对稳定的范围,而不会一开始很快后来越来越慢最后卡住

@kingwilliam
Copy link

.....把一个tcp连接拆成多个.....

  1. 经cdn去国不要有太高期望
  2. tcp和ws不要开mux, 就是你所说的“拆成多个”.因h2和quic就天生“多路复用”

@rhjdvsgsgks
Copy link
Author

  1. 以上测试结果就是在没开mux的情况下测试出来的,我平时使用也没有开mux
  2. 本来我也觉得免费的cdn没什么可期待的,但并发确实显著提高了速度
  3. 我用的就是ws,想实现的不是“我创建了几条连接v2ray就创建几条”,而是“即使我只创建一条连接v2ray也建立多条链接到v2ray服务端,再由v2ray服务端合并最后变成一条连接发向目标”

@KirbyKFC
Copy link

在连接这个层面上一个连接是无法拆分的,多线程下载并不是“把一个tcp连接拆成多个”,而是将文件分割为多个部分并一一对应创建多条连接,是连接层面之上的业务层面的处理。

如果你想用类似的思路提速,可以考虑锐速、链路聚合等,但无法达到1M变10M的效果。

@rhjdvsgsgks
Copy link
Author

感谢您的回复,我好像有些明白了,但我想的不是“直接把原始连接拆开”,而是原始请求经过v2ray的打包之后的数据包通过多条链接传输,就像多线程下载一样

@kingwilliam
Copy link

您的意思是否如 torrent 或 flashget 下载一个大的档案时,可分成多条link分段同时下载?

@rhjdvsgsgks
Copy link
Author

是的

@github-actions
Copy link

This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 5 days

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants