免责声明:我是服务器领域的前端开发人员。
大家好。我在 EC2 上有一个服务器实例,c5d.9xlarge
其规格如下:
- 系统:Ubuntu 18.04
- vCPU:36 个线程/核心
- 内存:72 GB
- 存储:900 GB NVMe SSD
- 专用 EBS 带宽:7,000 Mbps
- 网络性能:10 Gbps
设想:我使用该服务器上传大型视频(4K,1+小时)并使用 FFMPEG 进行处理,但与我之前的具有 12 核和 48 GB RAM 的 UpCloud 服务器相比,该 EC2 服务器的上传和处理时间要长 1.5 倍,但我认为情况不应该如此。
问题:我如何才能最大限度地发挥我所支付的费用所带来的性能?
答案1
您的c5d.9xlarge
附带900GB 实例存储(又名临时存储) - 您是否使用它来存储和处理文件?虽然您的实例有一些专用的 EBS 带宽,但实例上的 SSD 存储仍然会快多了。我建议您将其用于所有源文件和临时文件,并仅将结果存储到 EBS。
但是实例存储也有一些注意事项:
你必须格式化并安装必须先将其删除,然后才能使用。有关更多详细信息,请参阅此答案:在 Ubuntu 16.04 中自动在 AWS EC2 上挂载 SSD 实例存储
内容是已擦除当您停止并重新启动实例时。实例重启后仍可继续,但停止/启动后则无法继续。
更新:默认情况下,SSD 未安装 - 您必须按照上面链接的答案中的步骤使用它。在启动后的标准配置中,您将使用比 SSD 慢的 EBS。
然后你必须确保你确实使用它- 设置上传,在职的和临时目录到该 SSD 安装点。
或者更好的是 - 因为你有 72 GB 的 RAM - 创建一个 RAM 磁盘并将其用于临时文件。这将比 SSD 更快(如果文件合适)。
首先,忽略上传速度并优化处理 - 将文件上传到 EBS 并计时处理,然后上传到 SSD 并计时,然后上传到 RAM 磁盘并计时处理。看看它们有多大差异。
上传速度会受到很多因素的影响,包括您与要上传到的 AWS 区域之间的距离和延迟。您使用的 AWS 区域离您很近吗?
关于CPU 性能- 你有 36 个 CPU 可用,但是每个单核可能比您之前的 12 核机器中的核心慢。这取决于 CPU 架构和时钟速度。但是,如果您可以将视频处理并行化为 36 个线程,那么您在这个实例上应该会更好。如果您依赖单个线程,您可能无法获得所需的性能。
希望有帮助:)
答案2
有没有空间可以考虑替代方案?对于一台服务器的价格c5d.9xlarge
,即使你得到大幅折扣,在专用服务器市场,你也可以一些同等或更好的机器
使用云来解决这种垂直扩展问题会导致支付过高的费用,而且正如您所见,性能不佳
抱歉,我没有回答,但我没有足够的声誉来发表评论