性能与容量规划
AISIX AI 网关的数据面是编译型 Rust 代理,因此自身给请求增加的延迟很低。本页给出了参考机器上的实测代理延迟和吞吐量,并提供一个用于按流量估算 CPU 的公式。
这些 数据采用与 Kong、LiteLLM 和 TensorZero 公开基准相同的测试模式,便于横向参考。测试中,AISIX 在专用 AWS c7i.4xlarge 上固定使用 4 vCPU,代理兼容 OpenAI 的 /v1/chat/completions 请求,请求包含约 1000 Token 的提示词。上游是接近零延迟的 mock 服务,且未启用流量控制策略。因此,报告的延迟基本就是网关自身开销。
实测网关延迟
在低到中等负载下,网关自身处理延迟保持在亚毫秒级;随着 CPU 使用率升高,延迟也会增长。由于测试上游约 0.07 ms 即返回,下表中的网关延迟可以视为 AISIX 叠加到真实上游调用上的额外开销:
| 输入负载 | 吞吐量(req/s) | 网关延迟 p50 / p95 / p99 |
|---|---|---|
| 轻负载(20%) | 5,700 | 0.31 / 0.51 / 0.59 ms |
| 中等负载(40%) | 11,300 | 0.52 / 0.89 / 1.04 ms |
| 繁忙负载(60%) | 17,000 | 0.82 / 1.37 / 1.69 ms |
| 高负载(80%) | 22,600 | 1.12 / 2.14 / 2.54 ms |
| 饱和 | 28,300 | — |
也可以通过减去同速率下直连上游的延迟来隔离网关开销。按这种方式计算,轻负载下 p50 开销为 0.24 ms,高负载下为 0.99 ms。真实 LLM 调用通常需要数百毫秒到数秒, 因此端到端看,这部分网关开销可以忽略不计。
吞吐量与 CPU
在 4 vCPU 上,单个 AISIX 实例可以为该工作负载支撑约 28,300 req/s。CPU 使用率几乎随请求速率线性增长:
CPU% ≈ 14 + 0.0144 × (req/s) # 每个实例,以单个 vCPU 的百分比表示
这大约等价于每个请求消耗 0.14 ms 的单核 CPU 时间,再叠加少量固定运行时成本。该线性拟合适用于测试中的 20-80% 负载区间。
接近饱和时,曲线会受到 4 vCPU 上限影响而变平。28,300 req/s 峰值约消耗 383% CPU,而不是朴素外推得到的约 421%。这也是容量规划应低于饱和点的原因之一。吞吐量可以水平扩展:可以给实例增加 vCPU,也可以在负载均衡器后增加副本。
流式响应
对于基于服务器发送事件(SSE)的流式响应,AISIX 会在上游返回 Token 时立即转发给客户端,而不是缓冲完整响应。首 Token 时间的额外开销约为 0.65 ms,总流持续时间与上游一致。网关不会持有流。