我有一个具有 1G 上行链路(1000 Mbps 带宽限制)的 Web 服务器,具有在软 RAID 1 中配置的两个 HDD 存储驱动器。我使用 nginx 作为 Web 服务器(配置有 aio 线程)来流式传输多个大型视频文件(每个文件都带有比特率约为 1600-2000 kbps)至至少 600 个并发活动连接。流式传输是仅使用 mp4 文件的伪流式传输(使用字节范围请求)。尽管有 12 个 CPU 核心,但我遇到了严重的 CPU 负载性能问题。瓶颈可能是使用 HDD 而不是 SSD 存储导致了 CPU 负载吗?在我的场景中使用 SSD 来流式传输此类文件有很大的好处吗?
至少 600 个并发活动连接
即使您的存储足够快,您也没有足够的带宽。
尽管有 12 个 CPU 核心,但我遇到了严重的 CPU 负载性能问题
你怎么知道它的CPU负载?所有 12 个核心的负载是否均匀?这是裸机还是虚拟机?
瓶颈是否是使用 HDD 而不是 SSD 存储
当然,取决于您的指标的报告方式,是的。无论如何,如果您只是在单个磁驱动器上运行它,它无疑太慢了。
改用 CDN 的服务。几乎在任何流量水平上它都更便宜。除非您有特定的理由这样做,否则不要浪费时间进行 DIY...如果您这样做,请将该信息放入您的问题中。