【问题标题】:Argo Workflow + Performance evaluation + MetricsArgo 工作流程 + 绩效评估 + 指标
【发布时间】:2022-01-12 22:02:03
【问题描述】:

我们正在评估 Argo 工作流程的性能并尝试对其进行基准测试。可以肯定的是,Argo 涉及的组件数量少于 Airflow,但我们想了解大规模运行时的各种潜在瓶颈。

以下 (https://argoproj.github.io/argo-workflows/metrics/) 是 Argo-workflows (localhost:9090/metrics) 的 workflow-controller-metrics,正在寻找这些的解释。

  1. 查看列出的 5 个不同的队列(cron_wf_queue、pod_queue、wf_cron_queue、workflow_queue、workflow_ttl_queue),这些队列的意义是什么?
# HELP argo_workflows_queue_adds_count Adds to the queue
# TYPE argo_workflows_queue_adds_count counter

argo_workflows_queue_adds_count{queue_name="cron_wf_queue"} 0
argo_workflows_queue_adds_count{queue_name="pod_queue"} 119
argo_workflows_queue_adds_count{queue_name="wf_cron_queue"} 0
argo_workflows_queue_adds_count{queue_name="workflow_queue"} 91
argo_workflows_queue_adds_count{queue_name="workflow_ttl_queue"} 0

2) 以下指标是什么意思?这里的“le”是什么?

# HELP argo_workflows_queue_latency Time objects spend waiting in the queue
# TYPE argo_workflows_queue_latency histogram
argo_workflows_queue_latency_bucket{queue_name="cron_wf_queue",le="1"} 0
argo_workflows_queue_latency_bucket{queue_name="cron_wf_queue",le="5"} 0
argo_workflows_queue_latency_bucket{queue_name="cron_wf_queue",le="20"} 0

3)这两组队列是什么?一个用于工作流控制器,另一组队列用于 Argo-server?如果是,每个队列在做什么?

【问题讨论】:

    标签: argo-workflows argo-events


    【解决方案1】:

    我的理解是,计数器

    argo_workflows_queue_adds_count
    

    是“工作流程添加”。这些计数器在进入特定队列时递增。您可以在 Prometheus 中使用 deltarate 表达式来查找在给定时间范围内发生了多少入队。

    您问题的第二部分是histogram 类型的度量。在这里你有不同的桶。 le 表示小于或等于。 例如,在 cron_wf_queue 中等待 20 秒的对象会导致每个桶中的增量。

    花费 le 1 秒。

    花费 le 5 秒。

    花费 20 秒。

    还有一个Grafana dashboard 可用于可视化 Argo Workflow 指标。

    【讨论】:

    • 我了解对应的部分,但试图弄清楚每个队列的使用位置?并且还在使用 Grafana 仪表板(使用仪表板图像更新问题)- 我在其中看到两组队列。一个用于工作流控制器,另一个没有任何上下文..
    猜你喜欢
    • 2022-08-16
    • 1970-01-01
    • 2020-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-25
    • 2022-06-10
    相关资源
    最近更新 更多