Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS EC2 ECS-我应该在单个实例上放置多少任务?_Amazon Web Services_Amazon Ec2_Amazon Ecs - Fatal编程技术网

Amazon web services AWS EC2 ECS-我应该在单个实例上放置多少任务?

Amazon web services AWS EC2 ECS-我应该在单个实例上放置多少任务?,amazon-web-services,amazon-ec2,amazon-ecs,Amazon Web Services,Amazon Ec2,Amazon Ecs,目前,我的workers集群中只有一个c4.large(3.75GB RAM,2个vCPU)实例,目前为16个服务运行21个任务。这些任务范围从图像处理到数据转换,大多数任务也发送HTTP请求。如您所见,该实例得到了很好的利用 我的问题是,我如何知道要在一个实例上放置多少任务?我为一个服务放置了多达8个任务,但我不确定这是否会导致速度提高,因为它们使用的是相同的底层实例。如何找到最佳位置 我应该让很多厨师在我的厨房里,还是只让两个厨师更快地把食物送到顾客手中?我们通常在集群中运行许多较小的服务

目前,我的workers集群中只有一个c4.large(3.75GB RAM,2个vCPU)实例,目前为16个服务运行21个任务。这些任务范围从图像处理到数据转换,大多数任务也发送HTTP请求。如您所见,该实例得到了很好的利用

我的问题是,我如何知道要在一个实例上放置多少任务?我为一个服务放置了多达8个任务,但我不确定这是否会导致速度提高,因为它们使用的是相同的底层实例。如何找到最佳位置


我应该让很多厨师在我的厨房里,还是只让两个厨师更快地把食物送到顾客手中?

我们通常在集群中运行许多较小的服务器。比如4-6个t2。对于我们的员工来说是很小的,每个t2上放置6-7个任务。这样做的主要原因不是为了加快处理速度,而是为了减少服务器宕机的爆炸半径


我们经常看到,服务器的实例运行状况检查失败,AWS将其关闭。让工人分散工作会减少对系统的影响。

我同意其他人的80%规则。但是,对于任何类型的关键应用程序,您都不希望只有一台主机。如果那样下去,你就完蛋了。我还认为最好使用更大的服务器,因为它们可以提高网络性能。您应该研究具有增强网络的主机,特别是因为您说您有很多HTTP工作


另一个需要考虑的是磁盘I/O。如果你在主机上堆了太多的任务,并且有一个故障,它会试图把这些任务安排在其他地方。我曾经有过服务器崩溃,因为有太多的任务被安排并烧掉了磁盘积分

正如我一直所理解的:目标是80%的CPU负载,但要确保IO不是限制因素。我没有任何关于这个想法的官方研究是的,标准必须低于80%(其他用于缓冲)。CPU和内存不足。您必须基于最少的CPU、内存、网络I/O、磁盘I/O进行配置。请在您的环境上进行Tresstest并调整/计算合适的配置文件。请更正单个主机,但幸运的是,在示例中这是我的登台工作人员环境。我考虑过这一点,但它是工作人员群集,而不是web群集,所以我觉得t2类型不合适?关键是要减少单个服务器崩溃时的爆炸半径。选择适合您需要的实例类型。但是,选择一个可以运行较少任务的服务器,并将任务分散到更多服务器上。另一个问题是John,如果你不介意的话。如果我将6-7个任务放在t2.small上,我是否相应地设置了CPU和内存限制?这意味着给每个约170个CPU单元和340MB的RAM。我正试图找出如何在我们的实例中平衡任务。我的老板坚持认为,我们目前平均每t2.small执行15.8个任务是可以接受的,但我们看到的是任务的随机锁定和慢化。如果您看到的是由于使用了所有底层实例资源(如CPU点数和磁盘点数)而导致的随机锁定和慢化,那么可以肯定的是,该服务器上的任务太多了。不幸的是,这里没有神奇的数字。使用装箱放置策略,您可以相应地设置CPU和内存限制,以控制每个服务器上的任务数量。这将非常有效,因为您也可以根据内存保留自动缩放实例。在jveldboom[at]gmail.com上给我打电话——我很乐意分享使用案例。