前言:这个不是官方也不是专业测试,只是个人想了解v2各种Protocols和Transport在不同组合的表现。方便在不同硬件和环境下用不同的配置达到理想效果。以下数据和方法只是在个人测试环境下的表现,并不保证能和其他测试比较。最後 我只张我的测试数据分享出来给大家参考, 并不会提供任何结论, 至於如何解读数据 悉随尊便 不喜勿插。
便件:
host(母鸡)
cpu: intel xeon5690 6core(12 threads) 3.46GHz
mem: 48GB
os: windows 2019 hyper-v
guest(小鸡) x2
os: Ubuntu 18.04.4 server
cpu: xeon5690 1core 3.46GHz
mem: 1GB
软件:
v2fly v4.23.1
iperf3
测试环境:
完全封闭环境,只有两部vm和一部virtual switch
[vm-client]--(hyper-v virtual switch)--[vm-server]
每个测试都只会用1条连接链(single connectiON)
以下测试全都是tcp入dokodemo-door(因v2 dokodemo-door udp 转换率没tcp那麽高,所以暂不测试udp)
每个测试都会先restart v2ray
vmess alterid=64(之後alterid=0再测试, 结果(全)没分别)
每个 protocols + transport 结果 都是测试3次再取平均值。
TLS是用letsencrypt 2048 RSA证书(RSA-2048比对ECC-256, 在传送上和cpu使用率都没明显分别(不包括前期的握手时间)
先做3个基准测试
T1: iperf3 tcp 直连 (测试系统和网路表现)
R1: 9.92Gbit/s(20/20) (括号内两组数字[左是客户cpu的使用率/右是伺服器])
T2: iperf3 udp 直连 (测试系统和网路表现)
R2: 2.89Gbit/s(97/72) (同上)
T3: 伺服器只用iperf3/客户建立v2, inbound用dokodemo, 之後freedom直出连接iperf3 server.(测试v2内在消耗)
R3: 6.55Gbit/s(70/xx) (伺服器cpu使用率忘了记下)
R1和R3比较
tcp基本转换率是 ~66%(内耗 ~33%)。
udp基本转换率是 ~50%(内耗 ~50%)(早前测试)。
以下再分两部份测试
没tls
有tls
导读:
格内3组数字,上行大字传送速度 单位Mbit/s, 下行小字[左是客户cpu的使用率/右是伺服器]
不知原因 可能是个人不太熟悉mkcp, 多个测试都没甚麽变化。
(補充1). 为可测试 没TLS的socsk5?这个不是没安全的传输吗? 对!真的没安全可言, 但有两点可以补充
— 就是没TLS和没加密, 可以测试全速时的表现, 取他做基准
— 大家忘了v2支援unix-socket吗? 至於如何经unix-socket去伺服器, 这点不多说了(已离题)
在(没)tls环境下:
又是不知原因 socks5 由tcp转ws 跌福相当大, vmess/ss大约折损70% 但socks5就有87%. 已re-test过3次, 结果还是一样,所以先放上来给大家参考.
vmess和ss 没甚麽分别, 已socks5最快.
在(有)tls环境下:
先比对 vmess
security aes-128-gcm/none: 设定none时 在tcp和ws有30%增益, quic 有~5%增益, kcp和h2没分别。
5.1. aes-128-gcm/none对cpu使用率没分别
vmess security none 时,
vmess在tcp/ws速度和socks5可说没分别, 比ss快大约20%.
6.1. 但在h2/h3就比socks5折让7%/20%quic加密和不加密比较, 不加密大约有10%增益
quic非常吃cpu, 但又没在速度反映出来, 可能是测试环境没发挥quic长处。
openwrt 或 树莓派:
如使用 openwrt 或 树莓派 这类硬件请况下, 比较安全可考虑 tls+socks5+tcp / tls+vmess(none)+tcp. 如不考虑tls, vmess/ss+tcp也有不错的速度(但要注意安全)
後话:
以下数据已离题, 但还有点点参考价值
官网建议, 在v2前加一个 web server/反向代理 作保护, 多个流程 必定会有损耗, 那麽多一个程序会损耗多少?
haproxy 2.0 损耗33%, 这数字比个人预期大。
tcp个人问题不会设定, 所以只得ws/h2c。
ws/h2 速度aes>none? 没错, 我也不知为何? 有空再复检。
Caddy 2.0 加入後(vmess:aes/s5/ss)效能反而有所提升, 的确有点意外。(可能是unload tls有关)
为何只得ws?, 因要2.1才支援h2c, tcp个人问题不会设定。
未经允许不得转载:Just My Socks中文教程网 » v2ray和ss的对比测试:看一看v2ray和酸酸乳哪个快?