我们正在对一个使用 DynamoDB 实现持久性的应用程序进行测试部署。我们在美国东部地区创建了一些表。然后,我们对该应用程序进行了一些测试,结果发现这些表的写入和读取次数非常多,超过了吞吐量阈值。然而,突然之间,对 DynamoDB 的请求停止了根本从那台特定的机器。我们重新创建了 eu-west 地区的表格并再次运行测试。它适用于一些时间,但早上发现,同样的事情也发生在欧盟西部的安装上,但与此同时,针对美国西部的请求开始通过。
经过一番调查,我们发现,如果当时针对某个区域的所有请求都失败了,我们甚至无法打开与该区域的 DynamoDB 端点的连接(基本上是“wgethttps://dynamodb.us-west-1.amazonaws.com“因超时而失败)。
更重要的是,当时,当我们无法连接到特定的 DynamoDB 端点时,所有其他机器可以这样做就没问题了。即使是与受影响的机器位于同一子网中并位于同一 NAT 之后(因此共享其源 IP 地址!)。
我所说的所有机器实际上都是 EC2 实例,因此我们这边并不涉及真正的硬件。
知道吗,可能出了什么问题?
在整个测试过程中,我们都没有改变网络配置。这可能是我们遇到了某种形式的限制吗?
答案1
你试过重启路由器吗?你的 NAT 网关后面的某些服务器可以工作,但其他服务器却不能工作,这让我无法相信问题出在你这边,而不是亚马逊那边。
如果是消费级设备,请尝试更新固件。是什么品牌/型号?
答案2
您是否检查过 Dynamodb 表的读/写容量。每个表都有与之关联的读/写容量。如果达到最大容量,它将停止接收连接。此外,一天内更新 Dynamodb 的这些读/写也有限制。也请检查一下。希望这对您有所帮助。