因此,根据亚马逊的DynamoDB error handling docs,有时候你可能会收到500个错误的预期行为(他们没有说明为什么会出现这种情况或者频率有多少)。在这种情况下,你假设用指数退避实现重试,开始大约50ms。
就我而言,我正在并行处理和批量写入大量数据(30个节点,每个节点运行大约5个并发线程)。我希望这需要很长时间。
我的哈希键相当平衡(user_id),我的吞吐量设置为20000写入容量单位。
当我把事情搞砸时,一切都开始了。我达到吞吐量并开始退缩,有一段时间我在最大容量周围振荡很好。但是,很快我就开始使用InternalServerError作为例外来获取大量500个响应。当然,没有提供其他信息。我退后了,然后退了回去,直到我在重试之间等了大约1分钟,一切都搞定了,而且我不再需要200分了。
我觉得我的查询或特定查询一定有问题,但我无法调查。除了“内部”和“错误”部分之外,根本没有关于我从服务器返回的错误的信息。
HALP?