6.5. dynflow Tuning

dynflow 是工作流管理系统和任务编配器,它是一个 Satellite 插件,用于以特定顺序执行方式执行 Satellite 的不同任务。在 Satellite 上检查了大量客户端并运行许多任务时,Dynflow 可能会对添加的调优采取一些帮助,指定它可以启动多少个执行者。

有关与 Dynflow 相关的调整的更多信息,请参阅 https://satellite.example.com/foreman_tasks/sidekiq

增加 Sidekiq worker 数量

Satellite 包含名为 dynflow-sidekiq 的 Dynflow 服务,用于执行由 Dynflow 调度的任务。sidekiq worker 可以分组到不同的队列中,以确保一种类型的许多任务不会阻止执行其他类型的任务。

红帽建议增加 sidekiq worker 的数量,以扩展 Foreman 任务以进行批量并发任务,例如,对于多个内容视图发布和提升、内容同步以及同步到 Capsule 服务器。有两个可用选项:

  • 您可以增加 worker 使用的线程数量(worker 的并发)。这对因为线程并发实现而大于 5 的值有限制。
  • 您可以增加 worker 数量,这是推荐的数量。

流程

  1. 将 worker 数量从一个 worker 增加到三个,而每个 worker 会保留五个线程/并发:

    # satellite-installer --foreman-dynflow-worker-instances 3    # optionally, add --foreman-dynflow-worker-concurrency 5
  2. 可选:检查是否有三个 worker 服务:

    # systemctl -a | grep dynflow-sidekiq@worker-[0-9]
    dynflow-sidekiq@worker-1.service        loaded    active   running   Foreman jobs daemon - worker-1 on sidekiq
    dynflow-sidekiq@worker-2.service        loaded    active   running   Foreman jobs daemon - worker-2 on sidekiq
    dynflow-sidekiq@worker-3.service        loaded    active   running   Foreman jobs daemon - worker-3 on sidekiq

如需更多信息,请参阅如何在 Satellite6 中添加 sidekiq worker?