【问题标题】:Kusto ingestion limit and command throttle because of capacity policy由于容量策略,Kusto 摄取限制和命令限制
【发布时间】:2022-01-16 22:05:16
【问题描述】:

我使用 kusto 摄取客户端 kustoClient.IngestFromDataReader 摄取数据。它抛出异常源发生错误:'DataReader'。错误:“摄取失败:State='Throttled',Status='控制命令由于限制而中止。在一些退避后重试可能会成功。 CommandType:'DataIngestPull',容量:18,来源:'CapacityPolicy/Ingestion'。'。看了https://docs.microsoft.com/en-us/azure/data-explorer/kusto/management/capacitypolicy#ingestion-capacity这里的文档,猜想可能是并发运行的请求太多,集群容量有限吧?

我对这份文件仍然有些困惑。最终数字 (Minimum(ClusterMaximumConcurrentOperations, Number of nodes in cluster * Maximum(1, Core count per node * CoreUtilizationCoefficient))) 是什么意思?这是否意味着总并发操作数?具体来说,一个 kusto 摄取客户端或一个 kusto 摄取命令只有一个并发操作还是可配置的?

非常感谢!

【问题讨论】:

    标签: azure-data-explorer


    【解决方案1】:

    实际上,该文档意味着摄取容量(就并发摄取操作而言)是集群中核心总数的 3/4 倍,但不高于 512。 您可以通过运行“.show cluster capacity”命令查看集群容量及其利用率。

    如果您不想自己处理限制,您应该使用 KustoQueuedIngestClient 类,并将摄取服务端点 (https://ingest-..kusto.windows.net) 传递给它。 摄取服务将负责管理集群上的负载。 详情请参阅Ingestion Overview 文章。

    【讨论】:

    • 非常感谢!一个简单的问题,你知道 Azure 数据工厂的复制活动是否也处理限制?这样我们就不用担心了。
    • 是的,ADF 的复制活动使用访问托管摄取端点的摄取客户端,不会限制。
    • 知道了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-26
    • 2011-10-10
    • 1970-01-01
    • 2020-02-16
    • 1970-01-01
    相关资源
    最近更新 更多