-
Notifications
You must be signed in to change notification settings - Fork 11.8k
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
[ISSUE #3585] [Part J] Use MappedByteBuffer instead of FileChannel to … #3657
Conversation
…write consume queue and slave commitlog. This commit improve reput performance and speed up consume qps greatly. In our test, produce about 200,000 tps. 72 queue consume qps: from about 70,000 to 200,000 600 queue consume qps: from about 70,000 to 110,000
Codecov Report
@@ Coverage Diff @@
## develop #3657 +/- ##
=============================================
- Coverage 49.69% 49.67% -0.02%
+ Complexity 4725 4723 -2
=============================================
Files 555 555
Lines 36798 36800 +2
Branches 4853 4853
=============================================
- Hits 18286 18281 -5
- Misses 16214 16220 +6
- Partials 2298 2299 +1
Continue to review full report at Codecov.
|
…write consume queue and slave commitlog. (apache#3657) This commit improve reput performance and speed up consume qps greatly. In our test, produce about 200,000 tps. 72 queue consume qps: from about 70,000 to 200,000 600 queue consume qps: from about 70,000 to 110,000
…write consume queue and slave commitlog. (apache#3657) This commit improve reput performance and speed up consume qps greatly. In our test, produce about 200,000 tps. 72 queue consume qps: from about 70,000 to 200,000 600 queue consume qps: from about 70,000 to 110,000
Actually, mmap is better than fileChannel in small size message case. In large scale size message, fileChannel is more better. |
As another effect, we found after upgrade to 4.9.4, mmap avoid many swap usage rather than older version with fileChannel. |
…write consume queue and slave commitlog. (apache#3657) This commit improve reput performance and speed up consume qps greatly. In our test, produce about 200,000 tps. 72 queue consume qps: from about 70,000 to 200,000 600 queue consume qps: from about 70,000 to 110,000
Make sure set the target branch to
develop
What is the purpose of the change
speed up reput performance (relative to consumer tps) .
Brief changelog
Use MappedByteBuffer instead of FileChannel to write consume queue and slave commitlog.
Verifying this change
This commit improve reput performance and speed up consume qps greatly. In our test, produce about 200,000 tps.
72 queue consume qps: from about 70,000 to 200,000
600 queue consume qps: from about 70,000 to 110,000
Follow this checklist to help us incorporate your contribution quickly and easily. Notice,
it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR
.[ISSUE #123] Fix UnknownException when host config not exist
. Each commit in the pull request should have a meaningful subject line and body.mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle
to make sure basic checks pass. Runmvn clean install -DskipITs
to make sure unit-test pass. Runmvn clean test-compile failsafe:integration-test
to make sure integration-test pass.