|
|
|
|
|
by jiggawatts
823 days ago
|
|
Here’s the rub: that time will have to be spent no matter what. Async just “frees up the thread”, but the system as a whole will still have to do the same processing. Async doesn’t make a gigabyte sized I/O take less time or somehow “go away”. In fairly extensive tests I found that it is actually pretty rare for threads to be the limiting resource, so async provided no benefit at all. You pretty much need this specific scenario: - A large auto-scale pool - Tuned well to keep load at 80-90%. - High concurrent connections per instance. - Slow dependencies that return small volumes of data. - A much larger back end than the front end. Think 100 VMs at the front and 10K at the back. Violate any of the above and the benefits seem to evaporate. I’m sure that this scenario is common at FAANG sized orgs, but is extremely rare elsewhere. |
|