对于云原生网关普通实例,本文提供了不同规格下,容量阈值以及 QPS 性能作为选型参考。因网关是核心链路,推荐您结合两个参数一起,进行选型。通常情况下,其中一个参数符合选型需求,那么另一个参数在同一规格下也是符合选型需求的。对于比较特殊的业务场景,若出现同一规格下,符合容量阈值,不符合 QPS 性能,或符合 QPS 性能,不符合容量阈值的情况,那么请提升规格,以保障两个参数均符合业务要求。此外,云原生网关 Serverless 实例,您无需进行详细的容量评估,系统会根据业务量自动进行弹性伸缩和计费,伸缩过程设定了保护阈值,不会造成无限的资损。
容量阈值
以下为不同网关规格下,面向单个网关节点的容量阈值。当网关容量指标处于警戒水位以下时,可以得到完整的SLA保障。对于核心业务,建议将网关容量指标控制在安全水位以下,从而获得更好的稳定性。
- 安全水位:能够在突发流量增长至双倍的情况下,依然确保网关系统维持高吞吐量和低延迟性能。 
- 警戒水位:当水位达到警戒线以上时,网关的延迟可能会增加,并且在突发流量下可能存在稳定性风险。 
- 过载水位:当网关当前的水位超过过载阈值后,网关会拒绝接受新建立的连接,以保证网关自身的稳定性。 
- 对于单节点部署的网关无法提供 SLA 保障,请确保业务部署了多个网关节点。当部署多个节点时,安全水位和警戒水位均是按照每个节点的规格进行累加计算。 
| 网关规格 | 2 Core 4 GiB | 4 Core 8 GiB | 8 Core 16 GiB | 16 Core 32 GiB | |
| 节点数 | 1 | 1 | 1 | 1 | |
| 客户端连接数 | 安全水位 | 12000 | 24000 | 48000 | 96000 | 
| 警戒水位 | 24000 | 48000 | 96000 | 192000 | |
| 过载水位 | 40000 | 80000 | 160000 | 320000 | |
| HTTPS每秒新建连接 | 安全水位 | 400 | 800 | 1600 | 3200 | 
| 警戒水位 | 800 | 1600 | 3200 | 6400 | |
| 过载水位 | - | - | - | - | |
| 网络带宽(Gbit/s) | 安全水位 | 1 | 2 | 4 | 8 | 
| 警戒水位 | 1 | 2 | 4 | 8 | |
| 过载水位 | - | - | - | - | |
| CPU使用率 | 安全水位 | 30% | 30% | 30% | 30% | 
| 警戒水位 | 60% | 60% | 60% | 60% | |
| 过载水位 | 90% | 90% | 90% | 90% | |
| 内存使用率 | 安全水位 | 75% | 75% | 75% | 75% | 
| 警戒水位 | 75% | 75% | 75% | 75% | |
| 过载水位 | 90% | 90% | 90% | 90% | |
QPS性能参考
网关QPS吞吐受多种因素影响,如应答大小、是否开启HTTPS、是否开启gzip等。下表是网关处于30%CPU水位下的QPS悲观值(最差情况下)参考。
HTTPS新建连接会占用较多CPU资源。对于瞬时大量HTTPS并发连接的业务场景,请参考下表中HTTPS短连接的数据评估网关容量。
| 网关规格 | 2 Core 4 GiB | 4 Core 8 GiB | 8 Core 16 GiB | 16 Core 32 GiB | |||||||
| 节点数 | 3 | 5 | 3 | 5 | 3 | 5 | 3 | 5 | |||
| 连接类型 | 应答字节数(KBytes) | 是否使用HTTPS | 是否使用gzip | CPU处于安全水位(30%)的QPS参考 | |||||||
| 短连接 | 1 | 否 | 否 | 5200 | 8700 | 10500 | 17500 | 21000 | 35000 | 42000 | 70000 | 
| 是 | 否 | 1600 | 2700 | 3200 | 5500 | 6500 | 11000 | 13000 | 22000 | ||
| 长连接 | 1 | 否 | 否 | 6500 | 10800 | 13000 | 21700 | 26000 | 43500 | 52000 | 87000 | 
| 是 | 否 | 6000 | 10000 | 12000 | 20000 | 24000 | 40000 | 48000 | 80000 | ||
| 是 | 是 | 5200 | 8700 | 10500 | 17500 | 21000 | 35000 | 42000 | 70000 | ||
| 10 | 否 | 否 | 5600 | 9300 | 11200 | 18700 | 22500 | 37500 | 45000 | 75000 | |
| 是 | 否 | 5300 | 9000 | 10700 | 18000 | 21500 | 36000 | 43000 | 72000 | ||
| 是 | 是 | 3100 | 5200 | 6200 | 10500 | 12500 | 21000 | 25000 | 42000 | ||
Ingress 使用场景资源配额
Ingress 使用场景资源配额与网关实例规格相关,建议相关资源不要超过对应规格配额,否则可能会产生稳定性问题。
配额限制与规格相关,仅可通过变更规格或新增网关集群的方式提升配额,同规格下进行扩容不会增加配额。
| 2 Core 4 GiB | 4 Core 8 GiB | 8 Core 16 GiB | 16 Core 32 GiB | |
| 域名 | 500 | 1000 | 2500 | 7500 | 
| 服务 | 1000 | 2000 | 4000 | 10000 | 
| 路由 | 1000 | 2000 | 4000 | 10000 | 
| Ingress | 1500 | 1000 | 2500 | 7500 | 
| Endpoint数 | 2500 | 5000 | 10000 | 25000 |