-
Notifications
You must be signed in to change notification settings - Fork 381
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve Synchronous Performance #59
Comments
Fix will come once https://github.com/bgrainger/MySqlConnector/issues/62 is merged into MySqlConnector and released |
Released 10012 |
Need to change our synchronous methods to call synchronous methods in MySqlConnector. I will work on this tonight. |
Quick performance test: 1.0.0: Asynchronous: 30 RPS, Synchronous: 30 RPS 1.0.1 should bring a 10x performance increase |
What is the official perf test result? |
Hardware Setup: Intel i5-6600K (4 cores), Ubuntu 16.04 Test Methodology: Run the performance test for 5s with varying RPS rates until 99th percentile request is within 10% of 100ms. Run at least 3 times. Results:
These test results also go to show how important it is for apps to implement Async all the way down. Great job @bgrainger on the truly async MySqlConnector and @kagamine on the solid EF implementation. We've got the world's first truly async MySql driver for Entity Framework! |
Could you compare our lib to the oracle one? |
I've got an environemnt variable built into the performance test that will run it with Oracle: The problem is that MySql.Data.EntityFrameworkCore/7.0.5-IR21 has too many bugs and throws exceptions for all of the methods in the performance test. I'll try to run it once they release an update. |
With the merging of #58, Async Performance is solid. Threads are not held and Performance tests can run 500+ RPS while keeping response time under 1s.
There is problems with threads getting held during Synchronous performance tests, however. Synchronous tests have trouble achieving 100 RPS without lockups.
While it is best practice to use Async methods, we can't guarantee that everyone is doing that. Need to investigate synchronous performance issues and improve so that there are no lockups.
The text was updated successfully, but these errors were encountered: