Azure Table - 基准测试显示高于官方目标的性能

时间:2017-05-03 15:56:32

标签: azure azure-storage azure-table-storage

我们使用官方Java SDK编写了Azure Table基准测试/压力测试。所有基准测试都是尽快从Azure表中下载整个分区。

每个分区包含~5到~60K个实体。平均而言,实体大小约为1KB。并且代码是从与表相同的区域中的Azure VM执行的。 According to the official documentation,每个分区仅限于每秒获取2000个实体:

  

单个表分区的目标吞吐量(1 KB实体) - 最多   每秒2000个实体

到目前为止,我们在某些测试中设法读取了每个分区> 18K实体。我们看到这样的数字甚至是一些未被触及数月的冷隔板。

一旦我们每秒达到2000个实体,我预计会受到限制......但我们不是。这怎么可能?我们可以依靠我们在实践中看到的数字,还是这是一个侥幸?

1 个答案:

答案 0 :(得分:3)

Azure存储可伸缩性目标并不准确。无法保证每秒恰好达到2,000笔交易。这就是说:Azure存储(特别是表)的可扩展性目标是每个分区每秒2,000个事务。每个存储帐户每秒20,000个事务。

Transaction = REST调用,与数据库事务不同。

我看到了你指出的文档,每秒提到2,000个实体。这不是真的如何运作。您可能会在每次REST调用(GET)中接收多个实体,因此这可能是您每分钟看到超过2,000个实体的解释。

根据文档here

  

针对Table服务的查询一次最多可返回1,000个实体,并且最多可执行五秒。

因此,您很可能每笔交易获得多个实体。