v2ray / discussion

For general discussion over Project V development and usage.
298 stars 34 forks source link

关于v2ray目前各协议的简单性能测试 (2020年10月11日更新) #818

Closed alexyangjie closed 3 years ago

alexyangjie commented 4 years ago

最近看到VLESS很火,就简单做了一个本地的性能测试。测试使用https://github.com/v2ray/experiments 这里的脚本。同时也顺带做了一下目前其他主流协议的测试。

测试环境:某单核VPS。

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 58
model name  : Intel KVM Processor v2.2
stepping    : 9
microcode   : 0x1
cpu MHz     : 2593.914
cache size  : 4096 KB
physical id : 0
siblings    : 1
core id     : 0
cpu cores   : 1
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl cpuid tsc_known_freq pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm pti ssbd ibrs ibpb fsgsbase smep erms xsaveopt md_clear
bugs        : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds
bogomips    : 5187.82
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual

所有测试均在该VPS进行,不涉及外网的传输,丢包,延时等情况。以下结果不是一次测出来的,而是分阶段分批次测的。仅供参考。

结果如下(由高到低排序,单位为MB/s,不是Mbps):

loopback                         2844 MB/s
v2ray platform                   1024 MB/s
vless (bare)                     568 MB/s
socks5 (tcp)                     538 MB/s
shadowsocks (bare)               538 MB/s
vmess (bare)                     365 MB/s
vmess (no encryption with AEAD)  353 MB/s
vmess (aes-128-gcm)              330 MB/s
shadowsocks (aes-128-gcm)        330 MB/s
trojan (no tls)                  256 MB/s
vmess (chacha20-poly1305)        204 MB/s
shadowsocks (chacha20-poly1305)  204 MB/s
shadowsocks (bare with tls)      204 MB/s 
vless (tls)                      204 MB/s
vless (xtls-rprx-direct)         200 MB/s
vless (xtls-rprx-origin)         196 MB/s
trojan (tls)                     196 MB/s
socks5 (tls)                     196 MB/s
vmess (bare with tls)            186 MB/s
socks5 (domainsocket)            179 MB/s           
vmess (ws with tls)              160 MB/s
vmess (h2 with tls)              78 MB/s

可以看到VLESS和不加密的vmess在使用TLS的情况下性能差距不大,相比直接的vmess协议还是有不小差距(即使vmess开启加密也是如此)。裸协议vless比vmess不加密快一些。vless + tls 比 vmess + tls + ws 稍微快一些。

以上几种协议差距在公网的条件下几乎可以忽略,因为基本都超过了G口的速度。不过对于移动设备来说,选择一个高效的协议的确能够省电。

github-actions[bot] commented 3 years ago

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