这是我们的情况:
我们将用户消息存储在表存储中。分区键是UserId,RowKey用作消息ID。
当用户打开他的消息面板时,我们只想。接收(x)消息数量,我们不关心sortOrder。但我们注意到,获取消息所需的时间因我们采取的消息数量而异。
我们做了一些小测试: 我们做了50 * .Take(X)并比较了差异: 所以我们做了。接受(1)50次和。接受(100)50次等。
为了进行额外的检查,我们进行了5次相同的测试。
结果如下:
正如您所看到的,存在一些巨大的差异。 1和2之间的差异非常奇怪。同样适用于199-200。
有没有人知道这是怎么回事?表存储位于实时服务器btw上,而不是开发存储。
非常感谢。
X:#Takes Y:测试编号
更新 当我使用无线网络时,似乎只会出现这个问题。但我正在使用电缆,时间是正常的。
答案 0 :(得分:1)
可能数据是以一定数量的x批量收集的。当您请求x + 1行时,它必须经过两次批次然后删除一定数量。
尝试使用增量1作为Take()参数运行测试,以确认或忽略此假设。