amazon-web-services - 用于加快 ECS 扩展的 AWS 高分辨率指标
问题描述
我在 AWS ECS 中部署了一个复杂的 REST API。相同的自动缩放策略基于 2000 的 RequestCount。
当 RequestCount 以每 60 秒的标准分辨率持续高于 2000 时,将发生横向扩展。这至少需要 2 分钟才能进行缩放。当请求计数增加到 10k 及以上时,这将成为短期请求激增的问题。容器开始拒绝请求(限制)。
如果不是在几秒钟内,我至少需要在一分钟内更快地进行缩放。AWS CloudWatch 似乎提供了高分辨率指标,但关于以下方面的信息却非常少:
我可以启用具有高分辨率的特定指标吗?我是否有可能以 5 秒的高粒度解决请求计数,并以 1 分钟的标准粒度解决 CPUUtilization?
如何在 AWS 指标上启用高分辨率?
AWS CloudWatch 文档似乎不足以理解此过程。
解决方案
有两种不同的东西可以是“高分辨率”,警报和指标。
高分辨率指标仅意味着源更频繁地推送值。如果您使用 AWS 指标,您将无法控制这一点,而且大多数指标的推送频率不会超过每分钟一次。
高分辨率警报是一种周期小于 60 秒的警报,其计费率高于标准警报。但是,如果您所基于的指标每分钟仅推送一次,则在大多数情况下这并不是很有用
编辑:直接回答您的问题
- 不,我认为 ELB 之类的任何 AWS RequestCount 指标都没有“高分辨率开/关”切换(尽管默认情况下 ELB 的推送频率可能超过 1 分钟,但我不确定)
- 它基于源将数据点推送到 cloudwatch 的频率。如果 AWS 指标不能满足您的需要,您需要添加类似 CloudWatch 代理(或只是您的实例中的脚本)之类的东西,以更频繁地推送指标。如果您从很多来源以高频率执行此操作,请注意 CloudWatch API 调用费用
推荐阅读
- unity3d - AR通过不同的相机传递相同的物体
- django - 在 Django 模型中将 html 类设置为 TextField
- javascript - 如何在 MEAN Stack 中为表单设置默认值?
- security - 谷歌云错误报告权限
- android - 未能找到用户 0 的提供程序 null;预计会为此授权 Android Oreo 找到有效的 ContentProvider
- c# - C# 内存分配和链表实现
- node.js - NodeJs-如何在 PdfKit 模块中使用波斯文本?
- mongodb - 如何使用聚合函数 mongo db-query
- php - 如何使用带有 Wordpress 的图像 ID 数组显示分页图像?
- sql - sql开发人员中的CONCAT