如何使用处理器/内存密集型任务(使用EC2)为Rails应用程序build模?

我需要build模使用Amazon AWS资源(EC2)进行video处理的Rails应用程序。

应用程序允许用户转换video。 video由用户上传。 现在它正在运行一个实例,但我看到需要扩大/改变的事情。

题:

创build两个实例是否有意义:

1)应用程序前端。 处理上传,数据库的东西。

2)video处理实例。 高内存的东西,正在被应用程序N1击中。

会更有效率吗? 有没有办法让实例N2工作不是不断的,而只是在需要处理video的时候?

我会看到任何好处,而不是扩大到更大的实例大小,并保持在同一个实例?

这是“这取决于”的情况之一。 有大量的变体,你可以从你的cpu密集型工作中分别扩展你的应用程序的前端和从中受益。 您一定要仔细阅读AWS Spot Instance和自动缩放 。

OTOH,如果您的video处理请求随时间变化相对稳定,并且其CPU需求不会压倒一个服务器的资源,那么您可能会发现,调整您的实例是一个更好的方法。 就我个人而言,我发现扩展问题(更多的服务器执行专门的任务)更有趣,但是YMMV。