我们最近改用 Elasticache,并且在 和 的图表上看到了一些Network Bandwidth In Allowance Exceeded
波动Network Bandwidth Out Allowance Exceeded
:
这很奇怪,因为我们没有使用太多带宽:
我们正在使用一个cache.t4g.small
集群模式关闭且只有一个副本的实例。根据定价页面,我们应该获得“高达 5 Gigabit”的网络性能。上面的图表还远远达不到这个水平。
那么,为什么我们的带宽超出了呢?我是否只需要忍受并支付更大的实例费用?如果是这样,那将花费大约 4 倍,因为下一个带宽更大的实例是cache.m6g.large
。似乎有什么不对劲?或者也许我可以忽略这些图表?
答案1
这已经是 6 个月前的事了,但我刚刚偶然发现了同样的事情。对于以后来这里的人,答案就在ElastiCache 故障排除连接页面总结如下:
NetworkBandwidthInAllowanceExceeded / NetworkBandwidthOutAllowanceExceeded:由于吞吐量超出了聚合带宽限制而造成的网络数据包整形。
需要注意的是,写入主节点的每个字节都将复制到 N 个副本,N 是副本数。节点类型较少、副本较多且写入请求密集的集群可能无法应对复制积压。对于此类情况,最佳做法是纵向扩展(更改节点类型)、横向扩展(在启用集群模式的集群中添加分片)、减少副本数或尽量减少写入次数。
还请注意,“高达 5 Gigabit”是以位(而不是字节)为单位的,并且是“突发带宽”(不确定 t4g 上突发可以持续多长时间)。t4g.small 的基准带宽为 0.128 Gbps(来源)。
你和我都需要更大的实例。