高并发 API 服务选什么配置
接口 QPS 比较高,是升配还是加机器?
结论
先加机器,再升配。单机 CPU 长期低于 50% 却撑不住并发时,瓶颈往往在连接数、数据库或锁,加配置解决不了。
推荐配置
为什么这么选
- 水平扩展的边际成本低于垂直升配,还能顺便获得冗余能力。
- 升配会遇到单机上限,且故障域不变:一台挂了就全挂。
- 接口 QPS 的瓶颈常在数据库连接池和慢查询,优化 SQL 的收益远大于加核。
容易踩的坑
- 应用有本地状态(session、内存缓存),加机器后出现数据不一致。
- 没做限流,突发流量直接打穿后端数据库,机器再多也没用。
常见问题
何时该升配而不是加机器?
单进程受限于 CPU 且无法水平拆分(例如重度计算、超大内存缓存)时,升配更直接。
需要多大带宽?
JSON 接口单请求很小,QPS 上万也可能只占几十 Mbps,但仍要确认 PPS 上限。