我运营的是一个足球论坛,也遇到过类似的挑战。
总的来说,我发现这是一个可扩展性问题。
对我而言,问题在不同层级显现出来。
Digital Ocean:
- 1 核 CPU + 1 GB 内存:在类似聊天的场景下可支持 30–40 名用户。
- 2 核 CPU + 2 GB 内存:在类似聊天的场景下可支持 70–80 名用户。
- 4 核 CPU + 8 GB 内存:可轻松应对 120 名用户,并在 2 小时内处理 1000 条帖子,尚未触及上限。
我目前正在尝试通过 Hetzner(镜像站点)升级不同层级,因其价格更便宜,但进展不如预期顺利。
我目前的经验是:
- 3 核 CPU(CPX 21,AMD 芯片)+ 4 GB 内存:20 名用户时已显吃力。
- 2 核 CPU(Intel)+ 8 GB 内存:20 名用户时运行正常,无问题。
接下来我计划在比赛条件下测试 80 至 100 名并发用户。
当我查看 Digital Ocean 的 CPU 使用情况时,即使在压力测试下,各层级的 CPU 使用率始终保持在较低水平,从未超过 50%。
而在 Hetzner 上查看 AMD 芯片的 CPU 使用情况时,我看到中位 CPU 使用率约为 60%,但每隔一分钟左右就会出现短暂峰值,最高可达 CPU 使用率的 300%。这种现象在 Intel 芯片上并未出现。
这意味着什么,我尚不清楚。我怀疑 Hetzner 的 CPU 监控更为精准(能够捕捉到短暂峰值)。但整体来看,CPU 使用率似乎较为均衡。从表面看,Digital Ocean 似乎更能应对峰值负载,但本周末之后,我应该能获取更多关于 Hetzner 的信息。