ECS Agent Optimization : Reduce CPU usage in event of multiple ecs tasks placements
- Dominant language
- Shell
- Stars
- 5.4k
- Forks
- 334
- PR merge metrics
- No merged PRs in 30d
Description
### Summary
When you have an environment where you have 60+ containers per nodes ( let say 2 nodes with 120 tasks). And let say you have a t3.2xlarge (or t3.large). If they died (force shutdown). New nodes have high CPU due to too many concurrent dockerd process going on..
### Description
If you need to replace a node (due to an unexpected failure) or replacement. Let say you had 2 more nodes Available that were empty. The new nodes are just maxing out on CPU / Memory (during docker untar unpigz.)
Is there an option to limit how many concurrent 'Docker creation process' is being launched?
Ie: On a 8CPU we might want to limit to 4 Docker Pull/Extract/Up at a time to ensure not to impact other Docker containers.
If such feature doesn't exists, could we get a Ecs-Agent Configuration to tell how much concurrent maxinum is allowed on a node? and default would be (number of cpu's? or maybe 3/4 of the total available CPU's)
Contributor guide
Research direction
Start by reviewing the ECS Agent configuration and the Docker pull, extract, and creation work described in the issue. The goal is a configurable per-node concurrency limit for these operations, with a documented default or CPU-based behavior; the issue does not name specific files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker
- Domain
- infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100