软路由性能探讨:AES-NI 硬件指令集对加密代理吞吐量的影响
在探讨 软路由硬件选型 时,经常会提及一个关键指标:AES-NI 硬件加密指令集支持。它究竟是如何在底层影响代理工具吞吐量的?
1. 代理流量的加解密开销
在使用基于 TLS 握手(例如 Trojan 或 VLESS over TLS)或者 AES-GCM 加密套件(例如早期的 Shadowsocks)的代理协议时,流经软路由的每一个网络数据包都必须在 CPU 层面进行加密封装后发送,并在接收端进行解密。 对于低端 ARM 路由器,使用纯软件算法计算复杂的加密包络,往往在处理 200-300 Mbps 的下行流量时就会导致处理器满载(达到 100% CPU 占用)。
2. AES-NI 的硬件加速原理
AES-NI (Advanced Encryption Standard New Instructions) 是 Intel 等处理器厂商在硬件电路层面对高级加密标准执行的专门优化。 当代理内核(如 Xray 或 sing-box)检测到宿主机支持该指令集时,会将这部分繁重的数学运算卸载到硬件专属逻辑单元中。这使得一台低功耗的 x86 微型主机在跑满千兆代理带宽时,CPU 占用率依旧能维持在极低水平(例如低于 20%)。
3. 测速与瓶颈诊断
如果您家中具备千兆宽带,但测速时发现代理节点速度始终上不去,请进行以下排查:
- 排查节点性能:首先使用电脑直连测试同一节点,判断是否为服务商在服务端设置了 QoS 限速。
- 观察系统负载 (Load Average):在软路由的 SSH 终端中运行
top或htop。在开启极速下载测试时,如果sirq(软中断) 或usrCPU 占用并未打满,说明本地 CPU 算力不是瓶颈;此时问题可能出在底层 TCP 拥塞控制 或物理线路质量上。 注意:绝不能单纯根据“我的 CPU 支持 AES-NI”就推断出“它必然能跑满千兆”,实际吞吐量还受到网卡驱动和内核转发效率的双重制约。