使用Fargate进行Web服务器的自动伸缩

0

【以下的问题经过翻译处理】 ECS任务

├Apache容器

└Gogs容器

我们正在考虑使用上述Fargate配置进行自动伸缩。

就自动伸缩而言,

・CPU利用率

・内存使用情况

・客户端并发连接

我们认为这些应该受到监控,但还有其他需要考虑的因素吗?

另外,有没有一种好的方式来监控并发客户端连接的数量?

profile picture
专家
已提问 5 个月前7 查看次数
1 回答
0

【以下的回答经过翻译处理】 如何以及何时进行伸缩取决于您的工作负载。如果的应用程序主要受限于CPU,根据CPU利用率进行自动扩缩容。如果主要受限于内存,根据内存利用率进行自动扩缩容。如果有可预测的基于时间的使用模式,例如工作日繁忙时段和晚间/周末的空闲时段?则可以使用计划缩放功能进行自动扩缩容。

根据我的经验,并发客户端连接可能不是用于自动扩缩容的最佳指标。您可能最关心的是用户体验和成本 - 您希望以最低的成本提供最佳的用户体验(例如最快的性能)。并发连接可能与CPU、内存和响应时间相关:连接越多,CPU和内存使用率越高,响应时间越低。因此,建议根据响应时间进行度量和扩缩容。

ALB发布了一个名为"TargetResponseTime"的指标,但实际上并没有多大用处。正如ALB文档中所指出的,该指标衡量的是"从负载均衡器将请求发送到目标,到目标开始发送响应头之间经过的总时间(以秒为单位,精确到毫秒)"。这可能是您所需要的,但更有可能的是,您想要的是总处理时间 - 即接收请求和发送完整响应之间经过的时间。ALB无法提供这方面的帮助,因此您可以发布自定义指标并基于该指标进行扩缩容。

对于基于CPU和内存利用率的自动扩缩容,使用目标跟踪缩放(target tracking scaling)。对于基于响应时间的自动扩缩容,使用步进缩放(step scaling),并使用应用程序发布的自定义CloudWatch指标。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则