Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BICAWS7-3351: Add concurrency limits to workflows #1315

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

ian-antking
Copy link
Collaborator

@ian-antking ian-antking commented Feb 18, 2025

This commit adds concurrency limits to the first job of each workflow to limit the number of concurrent workflows to 40.

By adding a concurrencyExecLimit to the first task of each workflow, we can control how many of those workflows run at a given time. Because phases 1, 2 & 3 share the same first task (lock_s3_file), applying a concurrency limit to that task means we can control the total number of those three workflows running simultaneously.

Without concurrency limit (2000 messages):

Screenshot 2025-02-19 at 11 59 01

Commit latency starts lower, but spikes when messages start clearing phase 1, and the compare files workflows begin.

Screenshot 2025-02-19 at 12 01 06

The time to process messages was about 16.9 minutes.

With concurrency limit (2000 messages):

Screenshot 2025-02-19 at 11 59 36

Commit latency more evenly spread, with a lower maximum.

Screenshot 2025-02-19 at 12 00 30

The time to process messages was about 18.5 minutes.

Adding a concurrency limit reduces database commit latency at the cost of an extra two minutes to process the incoming message queue.

Note

It's not as easy to limit the compare_files workflow, as the first task is a native conductor one, so there is no corresponding task.json to add a concurrencyExecLimit. As we can only limit the second task, this would probably explain why the throttled data still shows a spike in commit latency. This problem will solve itself as we reduce the need to compare outputs from old/new Bichard

@ian-antking ian-antking marked this pull request as ready for review February 19, 2025 12:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants