Use a virtual thread factory #15
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Switch to using virtual threads. This will allow us to push much harder on a single system.
Example with 100 threads for login.
This should let us push FusionAuth a lot harder- at least without having to spin up a bunch of compute to get enough threads to really push it.
The difference is the most evident with a lot of threads because we end up just spending most of the time context switching when we run
fusionauth-app
and this load test on the same host. FusionAuth is likely then getting starved for CPU time if the load test harness spins up that many platform threads.This result is the Login API w/ a load factor of
1
on the password hash, so this simulates removing CPU as the bottleneck.