iceonsun / rsock

The best companion of kcptun
https://github.com/iceonsun/rsock/wiki/rsock%E7%AE%80%E4%BB%8B%E4%BB%A5%E5%8F%8A%E5%8E%9F%E7%90%86
245 stars 36 forks source link

双边混肴么 #6

Open github9751 opened 6 years ago

github9751 commented 6 years ago

这是双边混肴么?假设sever为linux,client为windows,都要同时运行吗,再加上比如kcp就2个sever和client同时都要一起运行么,那client为安卓呢

iceonsun commented 6 years ago

假设sever为linux,client为windows,都要同时运行吗

再加上比如kcp就2个sever和client同时都要一起运行么

这个是搭配kcptun(或者其他kcp)使用的。kcp是保证数据快速和可靠,rsock只是保证流量不被封。

client为安卓呢

rsock没有安卓。

大概工作模式,你注意看README.md中的那张图片

github9751 commented 6 years ago

有看了README isp和gfw都会造成断流or限速,或者仅isp? 有考虑过仅在sever端部署,单边可以接受么(是回程还是去程造成的断流or限速?) clientTCP←kcpUDP←rsockUDP←ispQOS←gfw←rsock伪tcp/正常udp←kcpUDP←serverTCP 测试过kcpraw跑的带宽≈1/2kcp,延迟增大和带宽利用率低呢,不知rsock如何呢,谢谢。

iceonsun commented 6 years ago

@qq975163418

isp和gfw都会造成断流or限速,或者仅isp?

限速是出口物理宽带造成的以及本身丢包率太高造成速度上不去造成(这里面我不清楚有没有gfw在干扰)。断流是针对普通UDP的,是isp造成的

是回程还是去程造成的断流or限速?

没测试过。下行有udp限制这是肯定的,上行看别人论坛,似乎也有限制了。

单边可以接受么

同上,所以单边不是个好方案。

不知rsock如何呢

分两种:unix和windows

unix(包括Mac和linux): 你看README中的测试,速度在70%-90%。90%这个数据是我在凌晨基本没人上网的时候测试到的。平时能有70%-80%。 平时看youtube 1080p、1440p无压力,看4k会卡。

在windows上的表现,很渣,远远不如Mac和linux,只有300K-500k,峰值能到800k 。youtube 720p还ok

github9751 commented 6 years ago

@iceonsun 今天弄了下,没成功,汗。 sever环境为linux ovz ./server_rsock_Linux -d lo -t 127.0.0.1:3000(会不会是网卡设置错了呢?)log: https://i.loli.net/2018/05/15/5afa5864f17aa.png client环境为windows rsock: set objShell=wscript.createObject("wscript.shell") objShell.Run("C:\rsock\client_rsock_Windows.exe -t severip -l 127.0.0.1:2222 ") log: https://i.loli.net/2018/05/15/5afa586502a59.png) 解压后那几个dll文件(我有看wiki,明白libnet和libcap)?不是二进制命令行输出么 kcp:-r 127.0.0.1:2222 -l 1111 ss:-r 127.0.0.1:1111 -l 1080

iceonsun commented 6 years ago

这两天在外地面试,没注意看。

服务端网卡弄错了。最新版可以忽略这个参数。手动指定是这样的:-d nic,其中nic是外网网卡的名字。一般是eth0或者eth1,你输入ifconfig看一下就知道了。

windows客户端的话,我测试都是在cmd中执行的。

github9751 commented 6 years ago

@iceonsun 刚才换了另一台服务器kvm测试,ok了,可能之前那台服务器系统网卡有问题。 不过结果是让我有些失望甚至有点怕,cpu占比能达到kcp的一半两者加起来能让一台小型服务器挂掉。我测试油管4k时候很卡,带宽利用率≈20%kcp,可能和你测试的有点出入。README说到Windows用户只能看720P,1080P会有点卡,难怪,我4k测试好卡...跑不到20M带宽。

iceonsun commented 6 years ago

不清楚这个kvm是怎么回事,跑的host os是什么。

服务端跑的digitalocean vps:5美元/月的, ubuntu。高峰时期(客户端下载速度1.3M/s+),cpu占用率和kcptun相当,大概在6-7%左右,比kcptun高0.2%的样子。低峰时期只有0.1%左右。

客户端:Mac上和服务端类似,高峰不超高10%。针对Windows,7年前的笔记本,i5,高峰在20%左右。大概是这样。我比较高,windows和mac使用同一套代码,占用率还是下不来。这既有可能是windows回环网络性能差,也有可能是winpcap的问题。目前没有专门针对windows进行优化。

一台小型服务器挂掉。

据我的测试和使用,不大可能。

油管4k时候很卡

不管是unix和Windows,4k都很卡。unix上能看1440P,Windows上能看720P。

请帖一下你的测试环境。

github9751 commented 6 years ago

CPU Model : Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz CPU Cores : 1 Cores @ 1999.999 MHz x86_64 CPU Cache : 4096 KB OS : Debian GNU/Linux 7 (64 Bit) KVM Kernel : 3.2.0-4-amd64 Total RAM : 497 MB (221 MB Used 51 MB Buff) 主频其实母鸡限制了,嗯,1美元/月,sever端rsock+kcp cpu占比在客户端播放4k视频时很高。

iceonsun commented 6 years ago

目前的卡是由于带宽卡造成的。

至于观看4k导致CPU占用率过高,我的测试环境还没能达到那个水平。专门的性能优化的话,还要过一阵。

iceonsun commented 6 years ago

你不介意的话,截一张高峰时期cpu占用率的图,然后贴一下kcptun的参数。

github9751 commented 6 years ago

额,不好意思没看到信息这几天,我回到家再搞。