ADX 请求节流改进
ADX request throttling improvements
当我 运行 一些批处理 ADF 管道时,我从 ADX 得到 {"code": "Too many requests", "message": "Request is denied due to throttling."}
。我遇到了这个 document on workload 组。我有一个集群,我们没有在其中配置工作负载组。现在我假设所有查询都将由 default
工作负载组管理。我发现 MaxConcurrentRequests
属性 是20。我有以下疑问。
这是否意味着这是我的集群可以处理的最大并发请求数?
如果我创建一个 rest API 来提供来自 ADX 的数据,它在给定时间只支持 20 个请求吗?
如何找到 ADX 集群可以处理的最大并发请求数?
为了了解您的命令被限制的原因,错误消息中的关键元素是:Capacity: 6, Origin: 'CapacityPolicy/Ingestion'
。
这意味着 - 您的集群可以 运行 的并发摄取操作数是 6。这是根据集群的 摄取容量 计算得出的,它是集群的 capacity policy.
它受集群 cores/nodes 总数的影响。一般来说,您可以:
- 规模 up/out 为了达到更大的容量,and/or
- 降低摄取命令的并行度,这样最多只有 6 个 运行 同时被执行,and/or
- 向客户端应用程序添加逻辑以在一些回退后重试此类限制错误。
当我 运行 一些批处理 ADF 管道时,我从 ADX 得到 {"code": "Too many requests", "message": "Request is denied due to throttling."}
。我遇到了这个 document on workload 组。我有一个集群,我们没有在其中配置工作负载组。现在我假设所有查询都将由 default
工作负载组管理。我发现 MaxConcurrentRequests
属性 是20。我有以下疑问。
这是否意味着这是我的集群可以处理的最大并发请求数?
如果我创建一个 rest API 来提供来自 ADX 的数据,它在给定时间只支持 20 个请求吗?
如何找到 ADX 集群可以处理的最大并发请求数?
为了了解您的命令被限制的原因,错误消息中的关键元素是:Capacity: 6, Origin: 'CapacityPolicy/Ingestion'
。
这意味着 - 您的集群可以 运行 的并发摄取操作数是 6。这是根据集群的 摄取容量 计算得出的,它是集群的 capacity policy.
它受集群 cores/nodes 总数的影响。一般来说,您可以:
- 规模 up/out 为了达到更大的容量,and/or
- 降低摄取命令的并行度,这样最多只有 6 个 运行 同时被执行,and/or
- 向客户端应用程序添加逻辑以在一些回退后重试此类限制错误。