5.5. Dynflow Tuning
Dynflow 是工作流管理系统和任务编排器,它是卫星插件,用于以顺序执行方式执行卫星的不同任务。当很多客户端在卫星中检查并运行多个任务时,Dynflow 会从添加的调优中取一些帮助,指定启动多少 executors。
有关与 Dynflow 相关的调整的更多信息,请参阅 https://satellite.example.com/foreman_tasks/sidekiq。
增加 Sidekiq 工作程序的数量
Satellite 包含一个名为 dynflow-sidekiq 的 Dynflow 服务,它执行由 Dynflow 调度的任务。Sidekiq 工作程序可以分组到不同的队列中,以确保某一类型的大量任务不会阻止其他类型的任务。
红帽建议增加 sidekiq worker 的数量,以扩展 Foreman 任务以实现批量并发任务,如多个内容视图发布和促销、内容同步和与胶囊服务器同步等。有两个可用选项:
- 您可以增加 worker 使用的线程数量(worker 的并发)。由于 Ruby 实现线程并发实现,这对超过五个的值的影响有限。
- 您可以增加推荐的 worker 数量。
流程
将 worker 数量从一个 worker 增加到三,同时剩余五个线程/并发:
satellite-installer --foreman-dynflow-worker-instances 3 # optionally, add --foreman-dynflow-worker-concurrency 5
# satellite-installer --foreman-dynflow-worker-instances 3 # optionally, add --foreman-dynflow-worker-concurrency 5Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:检查是否有三个 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
# 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 sidekiqCopy to Clipboard Copied! Toggle word wrap Toggle overflow