为什么有时 AWS EC2 运行非常慢?

为什么有时 AWS EC2 运行非常慢?

我在这个服务器上只做一件事 - 使用 编码视频ffmpeg。有时它工作正常,有时则非常慢。

我运行相同的命令只是为了测试:

$ sudo time ffmpeg -i test.mp4 -c:a copy -vf 'drawbox= : x=0 : y=0 : color=invert : t=2' output1.mp4
ffmpeg version n2.2.15 Copyright (c) 2000-2015 the FFmpeg developers
  built on Apr 30 2015 13:20:09 with gcc 4.8.2 (GCC) 20140120 (Red Hat 4.8.2-16)
......
16.24user 0.04system 0:16.30elapsed 99%CPU (0avgtext+0avgdata 60972maxresident)k
0inputs+6088outputs (0major+15811minor)pagefaults 0swaps

5 小时后我再次运行它,因为我发现它又开始运行缓慢了。

$ sudo time ffmpeg -i test.mp4 -c:a copy -vf 'drawbox= : x=0 : y=0 : color=invert : t=2' output1.mp4
.......
163.41user 0.84system 2:46.90elapsed 98%CPU (0avgtext+0avgdata 60988maxresident)k
0inputs+6136outputs (0major+15814minor)pagefaults 0swaps

正如你所见,这次花费的时间比第一次多了 10 倍。(1) 16.24user(2)163.41user

有什么想法可以解决这个问题吗?

答案1

根据您的实例类型(突发 CPU 实例),您可能需要处理 CPU 信用。

==>https://stackoverflow.com/questions/28984106/whats-is-cpu-credit-balance-in-ec2

如果您发现非突发实例存在巨大波动,您可能需要停止并启动(而不是重新启动)实例。这将使实例出现在不同的虚拟机管理程序(主机箱)上。可能是当前共享主机存在问题,这些问题将在新主机上启动虚拟机时得到解决。

答案2

我使用了很多 EC2 实例;我还发现完成同一项任务所需的时间存在很大差异——反复处理同一个视频。有时,两次运行非常快,差异小于 1%;其他运行差异是 5 到 10 倍!我注意到这些问题更多地发生在我们的小型实例上。我们有几个是 M*.large 或 C*.large 大小的实例,这些实例没有这个问题(太多)

相关内容