Open bgrainger opened 6 years ago
@sebastienros any clues?
I haven't worked at all on this scenario so far, but that's on my priorities list. Last time Ben tried to make it fast, it actually didn't help, and the results where so unexpected we just submitted the changes without knowing what results we would get. We know it's the next major thing to fix. And not just for mysql.
The .NET Core entrants have very poor performance on the TechEmpower "Data updates" benchmark. For example, in the latest nightly run (filtered to MySQL),
aspcore-ado-my
(which is normally the fastest .NET MySQL entrant) is the second-slowest .NET result, and only 39.7% the speed of the top performer,fasthttp
. These results have been fairly consistent across the TFB runs I've checked.However, if I run the benchmarks locally (Windows 10 x64, using Docker Linux containers), I can't replicate these results; I get 1707 rps for
fasthttp
and 1830 rps foraspcore-ado-my
.Maybe I just don't have enough hardware to throw at the problem, so my results are artificially limited and with more cores,
fasthttp
would pull ahead? The official benchmarks say28 threads and 512 connections
but I just have12 threads and 512 connections
in the output below.Finally, I don't understand why
aspcore-ado-my
has one of the slowest .NET Core MySQL "Data updates" results, but frameworks with more overhead, such asaspcore-mvc-dap-my
, show more requests per second. Again, this is not something I can reproduce locally;aspcore-ado-my
is the fastest performer out of all the .NET Core MySQL entrants. (Again, possibly something that only manifests in high-concurrency scenarios?)Any thoughts?
fasthttp
aspcore-ado-my