Scala/DynamoDB-GetItems运行非常缓慢

Scala/DynamoDB-GetItems运行非常缓慢,scala,amazon-dynamodb,aws-sdk,Scala,Amazon Dynamodb,Aws Sdk,我有一个从DynamoDB检索项目的函数(应用程序和dynamo在同一个区域上运行),但我的吞吐量非常慢:接近200/秒——至少应该是800/秒 如果删除调用DynamoDB的函数,吞吐量将增加到1380/秒 下面是访问DynamoDB的一段代码: def findByKey(blacklistId: String): Option[Blacklist] = { val table = dynamoDB.getTable(TABLE_NAME) val spec = new GetIt

我有一个从DynamoDB检索项目的函数(应用程序和dynamo在同一个区域上运行),但我的吞吐量非常慢:接近200/秒——至少应该是800/秒

如果删除调用DynamoDB的函数,吞吐量将增加到1380/秒

下面是访问DynamoDB的一段代码:

def findByKey(blacklistId: String): Option[Blacklist] = {
  val table = dynamoDB.getTable(TABLE_NAME)

  val spec = new GetItemSpec().withPrimaryKey("id", blacklistId).withConsistentRead(true)

  Try(table.getItem(spec)) match {
    case Success(item) if item != null =>
      val result: Blacklist = item.toJSON
      Some(result)
    case Success(item) if item == null =>
      None
    case Failure(e) =>
      Logger.error(e.getMessage, e)
      None
  }
}

有人知道如何提高这些请求的性能吗

首先,您使用的是一致读取。第二,请检查整个配置,即表的读取容量单位。。。此外,您可能需要检查分区键是否正确设计为将记录分发到不同的分区…使用一致的测试读取和表上的容量单位为1500并没有什么区别-所以问题不在于始终一致的读取或配置。您是并行地发出请求吗?调用代码是什么样子的?