香港云主机做 Nginx 反向代理,1C2G 能扛多少并发?按连接数算
Nginx 反向代理是很多架构的流量入口:把请求转发到后端应用服务器或 CDN。香港云主机(1C2G)做纯反向代理(不处理业务逻辑),到底能扛多少并发?云数方舟 帮你算。
第一步:Nginx 的并发模型。Nginx 使用事件驱动(epoll/kqueue)架构,单 worker 进程可处理数千并发连接。关键参数:
– worker_processes:通常设为 CPU 核数(1C = 1 worker)。
– worker_connections:每个 worker 的最大连接数。默认 1024,可调到 4096 或 8192。
– worker_rlimit_nofile:worker 能打开的最大文件描述符,应 ≥ worker_connections × 2。
第二步:理论并发数计算。
最大并发连接数 = worker_processes × worker_connections
– 1C 服务器:worker_processes = 1。
– 调优后:worker_connections = 4096。
– 理论最大并发 = 1 × 4096 = 4096 个连接。
但反向代理需要两个连接(客户端→Nginx + Nginx→后端),实际可用并发约 2048。
这里说的”Nginx 反向代理的瓶颈通常是文件描述符和端口,不是 CPU”,这个是指 1C 处理 epoll 事件的开销极低,4096 个连接的 CPU 占用可能只有 10-20%。
第三步:实际压测数据。在 香港云主机 1C2G 上,用 wrk 压测 Nginx 反向代理(转发到本地 8080 的静态文件):
– 1000 并发长连接:CPU 30%,内存 200MB,无错误。
– 3000 并发:CPU 60%,内存 400MB,少量超时。
– 5000 并发:CPU 90%,内存 600MB,错误率 < 1%。
– 8000 并发:CPU 100%,大量超时,不可用。
| 并发数 | CPU 占用 | 内存占用 | 可用性 |
|---|---|---|---|
| 1000 | ~30% | ~200MB | 优秀 |
| 3000 | ~60% | ~400MB | 良好 |
| 5000 | ~90% | ~600MB | 可接受(有超时) |
| 8000+ | 100% | > 800MB | 不可用 |
行动建议。1C2G 的 香港云主机 做 Nginx 反向代理,保守估计可稳定支撑 2000-3000 并发长连接。配置建议:
1. worker_processes auto;
2. worker_connections 4096;
3. worker_rlimit_nofile 8192;
4. 开启 epoll 和 multi_accept on;
5. 调整内核参数(参考 Day16 晚篇 sysctl 配置)。
如果需要更高并发,升级到 2C4G 或 4C8G,Nginx 的并发能力随 CPU 核数线性增长。记住:Nginx 反向代理是”小资源办大事”的典型——1C2G 扛 3000 并发,换成 Apache 传统模式可能 300 并发就崩了。
📌 查看云数方舟香港云主机方案:
云数方舟官网 | 香港云主机(AMD EPYC 1C2G 起)
本文由 云数方舟 技术团队原创发布,转载请注明出处。