Closed Yochee closed 3 years ago
Direct?
Direct?
对
(最好是四台机器,比较准确,另外看起来 R2S 跑满了;我之后也会出个测试)
(最好是四台机器,比较准确,另外看起来 R2S 跑满了;我之后也会出个测试)
多谢大佬 确实跑满了,但是不管啥组合都能满100M对于家用宽带很足够了 能否解释下为啥4台机器比较准,我测的时候任意门转发和socks转发以及内层tls的加解密都在PC端,网络也是全千兆,应该没啥影响了呀
因为有个东西叫 ReadV,流量方向不同也会影响它。
https://github.com/v2fly/v2ray-core/issues/416
简单来说就是去掉一层 TLS 后,可以得到质的飞跃,之后的 Splice 更强大。
因为有个东西叫 ReadV,流量方向不同也会影响它。
简单来说就是去掉一层 TLS 后,可以得到质的飞跃,之后的 Splice 更强大。
看了下,是因为socks包了tls后就不算裸协议了导致ReadV失效?如果给socks包tls是在另一台机器或者另一个v2ray进程实现的就没影响?有点玄妙啊
能否解释下为啥4台机器比较准,我测的时候任意门转发和socks转发以及内层tls的加解密都在PC端,网络也是全千兆,应该没啥影响了呀
四台机器是因为高速率测试下如果都在同一台机器跑本地回环或两台机器跑客户端-服务器,各种因素相互影响很大,在各种组合跑满CPU时,并不能确定瓶颈所在,也无法得到准确的速率.(比如可能在制造TLS数据流就用去了大量CPU性能,可能iperf本身占用了CPU),所以把 iperf客户端及制造TLS数据(A)/v2ray客户端(B)/v2服务端(C)/接收TLS数据及iperf服务端(D),拆开四个部分ABCD. 并且通过性能控制手段或者机器本身的性能差距,保证用来AD无论任何测试中都不会满负荷(不成为变量,不产生影响),AD只是提供了一个稳定的高上限的TLS数据流. 唯一的变量是B-C的组合,这样就可以最精确的测试B-C直接的组合性能了. 另外分别拆开也可以分别对各个环节进行控制,比如可以用来分析某个环节的影响程度等等.
你这个测试中,其实ABD都是PC,但我猜测,这个速率肯定跑不满PC的CPU.所以相互影响因素应该不大. (重新看了一下路由器这里充当的是v2ray服务器角色,那应该readV是生效的,但是这个数据流向不符合正常上网的数据流向,即主要是服务器发送到客户端.)
ws比TCP快有点玄学...也许可以再检查一下哪里还有不一致的地方.
另外不知道你是用什么先套了一层tls和解除tls的? 数据流向里没有看出解除TLS的位置.
你这个测试中,其实ABD都是PC,但我猜测,这个速率肯定跑不满PC的CPU.所以相互影响因素应该不大.
对的,就是出于这个考虑选了比较弱的R2S测试,能看出协议本身的性能差别
(重新看了一下路由器这里充当的是v2ray服务器角色,那应该readV是生效的,但是这个数据流向不符合正常上网的数据流向,即主要是服务器发送到客户端.)
打算晚点用x86软路由再跑一次,用4台机器,到时候iperf加上-R
ws比TCP快有点玄学...也许可以再检查一下哪里还有不一致的地方.
我能想到的就是cpu降频了...R2S无风扇还蛮热的
另外不知道你是用什么先套了一层tls和解除tls的? 数据流向里没有看出解除TLS的位置.
v2ray本身socks的streamSettings里加了个tls...所以都是在PC端
所以实际上 (PC)socks over tls 也是v2ray做的...那应该是有多一次的inbound和outbound来处理这个吧. 你流程的倒数第二环节的(PC)socks应该也是要多一次inbound和outbound来解除TLS然后freedom到iperf吧. 我觉得需要观察下PC的cpu是否满负荷... 还可以试一下iperf多个线程 -P
我能想到的就是cpu降频了...R2S无风扇还蛮热的
如果会降频...那可能就会有更多影响了.应该是可以锁定频率的吧(我有点记忆模糊,很久以前做一些其他的东西的时候接触过这个芯片而已.
贴下配置文件吧,虽然没啥注释但也很简单 server:
{
"inbounds": [{
"port": 1080,
"protocol": "vless",
"settings": {
"clients": [{
"id": "***",
"flow": "xtls-rprx-direct"
}],
"decryption": "none",
"fallbacks": [{
"dest": 1081,
"xver": 1
},{
"path": "/ws/",
"dest": 1082,
"xver": 1
}]
},
"streamSettings": {
"security": "xtls",
"xtlsSettings": {
"alpn": ["http/1.1"],
"certificates": [{
"certificate": ["***"],
"key": ["***"]
}]
}
}
},{
"listen": "127.0.0.1",
"port": 1081,
"protocol": "vmess",
"settings": {
"clients": [{
"id": "***",
"alterId": 64
}]
},
"streamSettings": {
"tcpSettings": {
"acceptProxyProtocol": true
}
}
},{
"listen": "127.0.0.1",
"port": 1082,
"protocol": "vmess",
"settings": {
"clients": [{
"id": "***",
"alterId": 64
}]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"acceptProxyProtocol": true,
"path": "/ws/"
}
}
}],
"outbound": {
"protocol": "freedom"
}
}
client:
{
"inbounds": [{
"listen": "127.0.0.1",
"port": 1080,
"tag": "data-in",
"protocol": "dokodemo-door",
"settings": {
"address": "127.0.0.1",
"port": 5201
}
},{
"listen": "127.0.0.1",
"port": 1081,
"tag": "tls-in",
"protocol": "dokodemo-door",
"settings": {
"address": "PC的IP",
"port": 1080
}
},{
"listen": "PC的IP",
"port": 1080,
"protocol": "socks",
"streamSettings": {
"security": "tls",
"tlsSettings": {
"certificates": [{
"certificate": ["***"],
"key": ["***"]
}]
}
}
}],
"outbounds": [{
"protocol": "freedom"
},{
"protocol": "socks",
"tag": "tls-out",
"settings": {
"servers": [{
"address": "127.0.0.1",
"port": 1081
}]
},
"streamSettings": {
"security": "tls",
"tlsSettings": {
"serverName": "***"
}
}
},{
"protocol": "vless",
"tag": "proxy-out",
"settings": {
"vnext": [{
"address": "R2S的IP",
"port": 1080,
"users": [{
"id": "***",
"flow": "xtls-rprx-direct",
"encryption": "none"
}]
}]
},
"streamSettings": {
"security": "xtls",
"xtlsSettings": {
"serverName": "***"
}
}
}],
"routing": {
"rules": [{
"type": "field",
"inboundTag": ["data-in"],
"outboundTag": "tls-out"
},{
"type": "field",
"inboundTag": ["tls-in"],
"outboundTag": "proxy-out"
}]
}
}
PC的CPU一直在30%以下,如果把server也放在PC上跑,各种协议组合的速度都超过3Gbps,所以PC应该不存在瓶颈
嗯,PC不是瓶颈就应该没什么额外影响.
嗯,PC不是瓶颈就应该没什么额外影响.
刚才试了下iperf client加了-R别的都没改,速度一下慢了,xtls-direct大概120出头,别的100不到,有点不能理解
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
做了个小测试,用R2S路由器(CPU: RK3328, 4*Cortex-A53)做服务端,用vless自带的fallbacks运行vless-tcp-xtls, vmess-tcp-tls和vmess-ws-tls服务,PC客户端访问本地iperf3测速服务,为模仿真实流量,先套了一层tls,具体流线为:
(PC)in --> (PC)socks over tls --> (PC)v2ray --> (Router)v2ray --> (PC)socks --> (PC)iperf3
在PC客户端用了两次dokodemo-door实现上述流程,经测试网络环境和PC性能均不构成瓶颈。
结果: vless-tcp-xtls 372 Mbps vless-tcp-tls 186 Mbps vmess-tcp-tls-none 148 Mbps vmess-ws-tls-none 157 Mbps vmess-ws-tls-aes-256-gcm 153 Mbps vmess-ws-tls-chacha20-poly1305 155 Mbps
结论: