外观
VMess 协议测试
VMess 协议测试
测试内容
添加10000名用户,模拟大量用户同时使用VMess 协议的情况
测试说明
服务端同时支持VMess+MD5+VMessAEAD认证,客户端使用VMessAEAD进行连接,websocket传输模式,10000名用户,alterId 为0
测试环境
Ubuntu 20.04,4核8G,无 swap
测试方法
客户端->代理程序->服务端(模拟网站)
- 使用客户端通过代理建立
3000条连接至服务端,客户端在每条连接中每2秒随机发送1KB~16KB的数据包至服务端,服务端在每条连接中每1秒随机发送1KB~16KB的数据包至客户端 - 每条连接随机持续
30~120秒后关闭,每关闭一条连接后会立刻建立新连接,保持正在运行的连接总数不变 - 保持运行
10分钟,再静置5分钟,继续运行5分钟,最后静置10分钟,总共测试30分钟,记录 CPU、内存、连接数、网速情况
v2ray 监控图
CPU 间歇上升是因为 VMess 协议每隔 10 秒会为所有用户生成新的验证信息,需要占用 CPU,VMess 协议特性,以下 xray 和 soga 也是同理

xray 监控图

soga 监控图

测试数据汇总
| 程序 | 最高内存占用 | 结束时内存占用 | 高峰时段 CPU 平均占用率 | 闲置时段 CPU 平均占用率 |
|---|---|---|---|---|
v2ray-core(v4.45.2),设置16KB连接缓存 | 1079MB | 565MB | 33.62% | 1.45% |
xray-core(v1.5.9),设置16KB连接缓存 | 1084MB | 553MB | 31.74% | 1.43% |
soga(v2.7.7),默认16KB连接缓存,未开启v2ray_reduce_memory,开启后内存可更低 | 604MB | 276MB | 21.25% | 1.58% |