使用时,Azure表存储中的奇怪数据访问时间.Take()

时间:2011-08-05 11:48:34

标签: azure azure-table-storage

这是我们的情况:

我们将用户消息存储在表存储中。分区键是UserId,RowKey用作消息ID。

当用户打开他的消息面板时,我们只想。接收(x)消息数量,我们不关心sortOrder。但我们注意到,获取消息所需的时间因我们采取的消息数量而异。

我们做了一些小测试: 我们做了50 * .Take(X)并比较了差异: 所以我们做了。接受(1)50次和。接受(100)50次等。

为了进行额外的检查,我们进行了5次相同的测试。

结果如下:

Query Results

正如您所看到的,存在一些巨大的差异。 1和2之间的差异非常奇怪。同样适用于199-200。

有没有人知道这是怎么回事?表存储位于实时服务器btw上,而不是开发存储。

非常感谢。

X:#Takes Y:测试编号

更新 当我使用无线网络时,似乎只会出现这个问题。但我正在使用电缆,时间是正常的。

1 个答案:

答案 0 :(得分:1)

可能数据是以一定数量的x批量收集的。当您请求x + 1行时,它必须经过两次批次然后删除一定数量。

尝试使用增量1作为Take()参数运行测试,以确认或忽略此假设。