AWS EC2 ECS - 我应该在一个实例上放置多少任务?
AWS EC2 ECS - How many tasks should I place on a single instance?
目前,我的工作集群中有一个 c4.large(3.75GB RAM,2 个 vCPU)实例,目前 运行 16 个服务的 21 个任务。这些任务的范围从图像处理到数据转换,大多数也发送 HTTP 请求。如您所见,该实例得到了很好的利用。
我的问题是,我如何知道要在一个实例上放置多少任务?我为一项服务放置了多达 8 个任务,但我不确定这是否会导致速度提高,因为它们使用的是相同的底层实例。如何找到最佳位置?
我应该在我的厨房里放很多厨师,还是只有两个会更快地将食物送到顾客手中?
我们的集群中通常 运行 有很多小型服务器。比如我们的工人有 4-6 t2.small,每个工人有 6-7 个任务。这样做的主要原因不是为了加快处理速度而是减少服务器宕机的爆炸半径。
我们经常看到服务器实例健康检查失败而 AWS 将其关闭。分散工作人员可以减少对系统的影响。
我同意别人的80%规则。但是您绝不会想要任何类型的关键应用程序都需要一台主机。如果那下降了,那您就完蛋了。我还认为最好使用更大的服务器,因为它们可以提高网络性能。您应该查看具有增强网络的主机,尤其是因为您说您有很多 HTTP 工作。
另一件需要考虑的事情是磁盘I/O。如果您在一台主机上堆积了太多任务并且出现故障,它会尝试将所有这些任务安排在其他地方。我有过服务器崩溃的原因,因为太多的任务被安排并消耗了磁盘信用。
目前,我的工作集群中有一个 c4.large(3.75GB RAM,2 个 vCPU)实例,目前 运行 16 个服务的 21 个任务。这些任务的范围从图像处理到数据转换,大多数也发送 HTTP 请求。如您所见,该实例得到了很好的利用。
我的问题是,我如何知道要在一个实例上放置多少任务?我为一项服务放置了多达 8 个任务,但我不确定这是否会导致速度提高,因为它们使用的是相同的底层实例。如何找到最佳位置?
我应该在我的厨房里放很多厨师,还是只有两个会更快地将食物送到顾客手中?
我们的集群中通常 运行 有很多小型服务器。比如我们的工人有 4-6 t2.small,每个工人有 6-7 个任务。这样做的主要原因不是为了加快处理速度而是减少服务器宕机的爆炸半径。
我们经常看到服务器实例健康检查失败而 AWS 将其关闭。分散工作人员可以减少对系统的影响。
我同意别人的80%规则。但是您绝不会想要任何类型的关键应用程序都需要一台主机。如果那下降了,那您就完蛋了。我还认为最好使用更大的服务器,因为它们可以提高网络性能。您应该查看具有增强网络的主机,尤其是因为您说您有很多 HTTP 工作。
另一件需要考虑的事情是磁盘I/O。如果您在一台主机上堆积了太多任务并且出现故障,它会尝试将所有这些任务安排在其他地方。我有过服务器崩溃的原因,因为太多的任务被安排并消耗了磁盘信用。