0

我想使用 lambda и dynamodb 构建无服务器应用程序。要创建集群,我必须知道特定配置将如何与我的表的结构和大小一起使用。为了找出答案,我打算使用 CloudWatch 指标,但事实证明它们不能反映客观现实,也不能及时显示集群的“需求”。可能有人遇到过这样的问题,可以建议如何根据表参数、请求的数量和类型来最好地确定集群配置?

4

1 回答 1

0

这在很大程度上取决于特定的工作负载、您的预期命中率、密钥访问的分布等。有一些经验法则,但由于服务的变化,这些可能会随着时间的推移而改变,所以最好自己做使用您自己的工作负载进行测试:

  • 在一个系列(t2、r3、r4)中,延迟几乎是恒定的,尽管较大的节点类型往往更加一致(较低的 p99)。
  • 吞吐量与节点大小成线性关系(即 2xl 是 xl 吞吐量的 2 倍)
  • 吞吐量与集群大小成线性关系
  • TPS 与响应大小呈线性关系 - 如果一个节点处理 50 000 1kB 获取,它将执行大约 5 000 10kB 获取。

我的建议是弄清楚你的工作量,在几个不同的集群大小上进行测试以获得一些基线,并使用上面的注释来扩展。请注意,DAX目前不允许更改集群的节点类型,并且向外扩展集群只会增加吞吐量,而不是可缓存内存。

至于更好的 CloudWatch 指标,了解您在寻找什么会有所帮助 - 最好在AWS 论坛中为该讨论启动一个线程。

于 2018-08-10T20:31:45.983 回答