-
Notifications
You must be signed in to change notification settings - Fork 237
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
Simplify sockopts #230
Simplify sockopts #230
Conversation
Codecov Report
@@ Coverage Diff @@
## master #230 +/- ##
==========================================
- Coverage 84.20% 82.47% -1.73%
==========================================
Files 68 69 +1
Lines 1868 1929 +61
==========================================
+ Hits 1573 1591 +18
- Misses 210 237 +27
- Partials 85 101 +16
Continue to review full report at Codecov.
|
I'm trying to test this PR with daily usage. |
With this PR, the performance is much better now. Legacy mtg is slower than official MTProxy about 20%, official version 320ms, mtg 390 ms Download speed with the same server and same video resource. official version 3.0M/s, mtg 2.5M/s, also about 20% slower. |
Thanks. Seems we are on the right track. |
@EkkoG i'm going to tryout a couple of other options. I'm curious about your testing methodology, would you mind to share how you test a throughput? |
Yet another big update. Seems I've made a couple of other improvements, that improved performance a lot. At least, first results are encouraging. |
|
Please take a look #208, #220 and #229
From early days mtg was not using TCP keepalive in a favor of its own "connection aborter" and allowing to tune buffer size. This was made with a purpose: I didn't find TCP keepalive to work as I wanted and we all spent so many time to find out the best buffer size so I've even made it configurable. Right now both of them look redundand for me and moreover, complexifies everything a lot. They are hackish.
This PR is an attempt to start wiping them out and I hope, this will also help us to achieve the better performance. I'm going to test it out in various conditions (fortunately or not, I'm going to connect to many different networks in forecoming weeks) to see how it performs and behaves. If I won't find any problem, I'll merge.
Any assistance or testing is also appreciated.