【发布时间】:2019-08-29 19:18:22
【问题描述】:
由于我们有一个使用投影的事件源系统,因此我们经常需要查询我们的事件存储以获取大量实体来(重新)构建我们的状态。 这是由以下人员完成的:
1.在PartitionKey、RowKey 上查询实体,偶尔还会进行额外过滤
2.处理结果段
3.重复这个直到continuationtoken== null
由 Azure 函数 (V2) Windows.Azure.Storage 9.3.1 运行。
我们遇到的问题是ExecuteQuerySegmentedAsync 返回的段的大小从大约 200~ 到 700~ 个实体不等。我能够通过仅对PartitionKey 的简单查询来重现这一点,无需额外过滤。见:
文档状态 ExecuteQuerySegmentedAsync 最多可以返回 1k 个实体。关于我们为什么没有达到这个数字的任何想法?它将(预期)显着提高性能。
更新:最大查询时间未达到 5 秒,获取段大约需要 200-300 毫秒。
【问题讨论】:
标签: c# .net-core azure-storage azure-table-storage