I use a 1 CPU Fargate where my container is running, and I have a multi-threaded network node.js application(it's not ngnix). I have sufficient resources, and there is a lot of free capacity, but the internet seems throttled. I am not sure how to check, but I am confident that requests are stuck in the FIN_WAIT_2 queue. Everything seems to be limited by network bandwidth. I don't actually send a large number of requests. Is it possible to use some settings in Fargate like:
netsh interface tcp set heuristics disabled netsh interface tcp set heuristics wsh=enabled netsh interface tcp set heuristics forcews=disabled
to achieve better TCP/IP stack performance?
I haven't found any information about whether it's possible to modify system network parameters for Fargate and whether it makes sense at all. Since the limitation may be physical, and I also couldn't find information about the network bandwidth limitation for Fargate. Is it possible to modify system network parameters for Fargate, and does it even make sense, considering that the limitation may be physical? I also couldn't find information about the network bandwidth limitation for Fargate.
The way I used to work with Fargate using the scaling policy, if I know my app is getting problems in some ways eg. 5000 req/s then I will scale when it hits my limit, I always set my scale policy lower than the throttle limit to be sure.
so I will recommend you look into how you will scale your application to accept all incoming requests by scaling up with more instances.
Remember node.js is not really multi-threaded, it is always a single thread, the way multi-threading works is to stack more to the CPU and wait until the CPU is ready to serve it with eg. async and so, and if your request takes too long vs incoming request you can hit the CPU limit of what its can handle, its hard to say about its your case based on your information, this is just a side note to you.