技术

武鸣大学城网站服务器负载评估报告

武大 · 发布于 2026年5月22日 · 25 阅读

服务器实测状态

指标值
CPU8核,当前负载 0.00(几乎空闲)
内存16GB,已用 1.6GB,可用 13GB
磁盘40GB SSD,已用 10GB
带宽10Mbps(≈1.19 MB/s 实际吞吐)
Nginx1.28.3,8 worker,51200 连接/worker
Node.jsv24.15.0,PM2 fork 单进程(97MB 内存)
MySQL5.7.44,最大连接 500,缓冲池 1GB
HTTP/2已开启
Gzip已开启(level 5)
静态资源缓存30天 immutable

瓶颈分析

带宽是首要瓶颈(10Mbps = 1.19 MB/s):

对于文章/图片场景,一次页面加载均重约 30-50KB(HTML+API 数据 ~5KB,首屏图片 ~30KB)。JS/CSS 有 30 天强缓存,回访用户几乎不产生这部分流量。

访问类型单次流量10Mbps 下每秒可承载
纯文字页面(已缓存资源)~3-5 KB~250-400 次/秒
图文页面(1-2张图)~30-50 KB~25-40 次/秒
首访(无缓存 JS/CSS)~400-500 KB~2-3 次/秒

后端是次要瓶颈:

  1. 当前 Node.js 单进程(fork 模式),通常可处理 200-500 req/s 简单查询
  2. MySQL 实际最大连接数历史峰值仅 12,远未触及 500 上限

Nginx 不是瓶颈: 8 × 51200 = 40 万理论并发连接,somaxconn 4096,远超带宽能支撑的量。

容量评估

同时在线人数

按用户阅读一篇文章 30-60 秒、期间产生 2-3 个 API 请求计算:

场景估算并发
日常舒适(图文混合,70% 回访)500-800 人
峰值可承受1,500-2,000 人
带宽打满极限~3,000 人

日访问量(PV)

按每天 12 小时活跃时段(大学生作息)、平均负载率 50%:

指标估算值
日 PV(日常)20-30 万
日 PV(峰值)50-80 万
日 UV(人均 5 页)4-6 万(日常)/ 10-15 万(峰值)

理论极限

10Mbps × 86400s ÷ 8 ÷ 30KB(均页重) ≈ 170 万 PV/天

但受峰值/低谷分布制约,实际不可能跑满。合理日 PV 上限约 80-100 万

改进建议

当前单进程 Node.js 只用了 1/8 的 CPU,按目前流量完全够用。如果日后用户增长到预估峰值,有两个低成本升级点:

  1. PM2 开启 cluster 模式(多进程利用多核):改 forkcluster,实例数设为 2-4,后端吞吐可翻倍
  2. 带宽升级:10Mbps 是最终瓶颈,升级到 20-30Mbps 成本很低但效果立竿见影

当前服务器配置对于大学城区域用户(23 所院校、18 万师生),完全足以支撑日常运行。