如何通过CloudWatch调用指标计算AWS Lambda的平均TPS?
为什么Lambda调用次数统计会出现这种矛盾?
这事儿核心原因就是调用请求全挤在极短的时间窗口里,绝大多数时间完全没有调用,再结合不同时间粒度的统计逻辑和监控系统的显示规则,就出现了这种看似矛盾的结果:
按秒统计平均值显示为0:12小时总计43200个秒级时间区间,假设10000次调用仅集中在少数几秒内完成,剩下的绝大多数秒区间调用次数都是0。计算整体算术平均值的话,总调用数除以总秒数得到的数值远小于0.5,监控系统通常会将这类小数取整显示为0。
按分钟统计平均值显示为1:12小时总计720个分钟级时间区间,集中的调用只会占用极少数1-2个分钟区间,其余分钟全是0调用。此时算术平均值应该是10000/720≈13.9,但你看到显示为1,大概率是监控面板的显示逻辑导致的:比如仅显示整数部分并做了截断,或者默认展示的是「中位数」而非「算术平均值」,也有可能是误将「并发调用数」当成了「总调用次数」统计。
内容的提问来源于stack exchange,提问作者ani
相关产品推荐
相关产品推荐

