【问题标题】:Azure data explorer Batching policy modificationsAzure 数据资源管理器批处理策略修改
【发布时间】:2021-08-25 04:27:38
【问题描述】:

我有大量数据从 Eventhub 流向 Azure 数据资源管理器。目前我们还没有对批处理策略进行任何修改,所以它是每 5 分钟调度一次。但是我们需要将它降低到一个较小的值,以便减少端到端的延迟。

如何计算此设置的理想批处理时间。有没有根据 ADX 的 CPU 和 Eventhub 上的 Data ingestion 进行计算,这样我就可以在不影响 ADX 的 CPU 使用率的情况下找出一个理想的时间

【问题讨论】:

    标签: azure-data-explorer kql adx


    【解决方案1】:

    目前没有工具或其他功能可以让您这样做,您需要尝试“MaximumBatchingTimeSpan”的所需设置并观察对 CPU 使用率的影响。

    【讨论】:

    • 无法在 prod 中进行此实验。考虑添加另一个从 Eventhub 到另一个 ADX 的路由并对其进行负载测试,如果一切顺利,请在主数据库上进行更改。
    • 您可以从下面的 Vladik cmets 中看到,首先通过查看指标确保批处理策略根据时间(而不是大小或项目数量)对摄取进行批处理。如果是这种情况,您可以逐渐对摄取批处理进行更改。如果您没有很多表(超过 100 个),则影响应该很小。
    【解决方案2】:

    基本上,如果您正在摄取大量数据(每个表),您可能没有使用 5 分钟的批处理窗口,或者可以显着减少它而不会产生不利影响。 请查看您的集群 (https://docs.microsoft.com/en-us/azure/data-explorer/using-metrics#ingestion-metrics) 的延迟和批处理指标,并查看 a) 如果您的实际延迟低于 5 分钟 - 这表明批处理不是由时间驱动的,b) 什么是“批处理类型”,您的集群最常制定的 - 时间/大小/项目数。 根据这些数字,您可以调整摄取批处理策略的时间部分。

    【讨论】: