[ECS fargate] [feature request]: Support fs.aio-max-nr sysctl parameters in systemControls
- Dominant language
- Shell
- Stars
- 5.4k
- Forks
- 334
- PR merge metrics
- No merged PRs in 30d
Description
Community Note
Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment
### Tell us about your request
Add support for fs.aio-max-nr to the systemControls feature in ECS Fargate task definitions.
### Which service(s) is this request for?
ECS Fargate
### Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
Our application relies heavily on asynchronous I/O operations and is sensitive to the fs.aio-max-nr kernel parameter, which controls the maximum number of concurrent asynchronous I/O requests system-wide.
Currently, ECS Fargate sets fs.aio-max-nr = 65536 by default for all tasks. While this works for many workloads, applications with high concurrent I/O demands often require higher values to prevent I/O throttling and maintain optimal performance.
### The problem:
The systemControls parameter in Fargate task definitions currently only supports:
1. IPC namespace parameters (kernel.*,fs.mqueue.*)
2. Network namespace parameters (net.*)
File system parameters like fs.aio-max-nr are not configurable, forcing us to either:
1. Accept potentially suboptimal performance with the default value
2. Migrate to EC2-backed ECS to gain sysctl control, losing Fargate's serverless benefits
### Impact:
1. Applications may experience I/O bottlenecks and degraded performance
2. Cannot fully leverage Fargate for I/O-intensive workloads
3. Forced to use EC2-backed ECS for workloads that would otherwise be ideal for Fargate
4. No ability to tune for specific application requirements or workload patterns
Are you currently working around this issue?
No, we don't have a work around.
Additional context
N/A
### Similar precedent:
This would align with how IPC and network namespace parameters are already supported in Fargate, extending the same capability to file system parameters.
### Documentation reference:
Current systemControls documentation: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_SystemControl.html
Contributor guide
Assessment
This issue has not been assessed yet.