gpt4 book ai didi

.net - Azure 表存储性能 - REST 与 StorageClient

转载 作者:行者123 更新时间:2023-12-04 10:43:16 26 4
gpt4 key购买 nike

我正在使用 Azure 表存储,并试图找出提高性能的最佳方法。我执行的查询非常简单 - 要么使用分区键和行键进行精确选择,要么使用列表的 where 子句(例如,WHERE x==1 或 x==2 或 x==3 等)。一旦我取回数据,我就不会在数据上下文中跟踪它(不需要更改跟踪等)。保存数据也是如此,所以我只是将其添加到上下文中以启用保存。

目前,我正在使用.NET 库(存储客户端)。由于我不使用 TableServiceContext 的更改跟踪和其他功能,因此我正在考虑直接使用 HTTP API。有人尝试过这两种选择吗?如果是这样,您发现了什么样的性能差异?

谢谢,埃里克

最佳答案

表存储在优化性能方面可能有点变化无常。有多种因素会影响它。以下是我的一些想法:

  1. 必须在每个查询中使用分区键。如果你不这样做,那么你就做错了。如果您使用单个 PK 和单个 RK(并且仅使用这两个),则它不再是查询,而是资源 GET,并且应该是相对瞬时的。
  2. 请勿使用基于 OR 的查询。这将导致全表扫描,并且您的性能将非常糟糕。相反,请在 OR 语句中并行化这些查询。
  3. 分区策略将会产生重大影响。您拥有多少个分区以及您访问它们的频率(以预热它们并导致底层分区服务器负载平衡)将导致巨大的差异。分区的大小在这里也产生很大的影响。顺序分区键通常不是一个好主意。
  4. 关闭 nagling 可以让小请求受益(如前所述)。
  5. 关闭上下文跟踪和 100 继续 ( see here ) 也会有所帮助。

我认为还有更多取决于您的应用程序。不过,我提到的通常是我开头的那些。

关于.net - Azure 表存储性能 - REST 与 StorageClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7118305/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com