ADX 请求节流改进

ADX request throttling improvements

当我 运行 一些批处理 ADF 管道时,我从 ADX 得到 {"code": "Too many requests", "message": "Request is denied due to throttling."}。我遇到了这个 document on workload 组。我有一个集群,我们没有在其中配置工作负载组。现在我假设所有查询都将由 default 工作负载组管理。我发现 MaxConcurrentRequests 属性 是20。我有以下疑问。

  1. 这是否意味着这是我的集群可以处理的最大并发请求数?

  2. 如果我创建一个 rest API 来提供来自 ADX 的数据,它在给定时间只支持 20 个请求吗?

  3. 如何找到 ADX 集群可以处理的最大并发请求数?

为了了解您的命令被限制的原因,错误消息中的关键元素是:Capacity: 6, Origin: 'CapacityPolicy/Ingestion'

这意味着 - 您的集群可以 运行 的并发摄取操作数是 6。这是根据集群的 摄取容量 计算得出的,它是集群的 capacity policy.

它受集群 cores/nodes 总数的影响。一般来说,您可以:

  • 规模 up/out 为了达到更大的容量,and/or
  • 降低摄取命令的并行度,这样最多只有 6 个 运行 同时被执行,and/or
  • 向客户端应用程序添加逻辑以在一些回退后重试此类限制错误。

附加参考:Control commands throttling