Use ThreadPoolExecutor instead of EventLoop#8208
Merged
Merged
Conversation
eolivelli
requested changes
Oct 6, 2020
Contributor
|
Is there any other ConsumerXX class that needs this change ? |
Contributor
Author
If this PR is accepted, I will continue to modify other ConsumerXX :) |
Member
|
@315157973 how did you do the test? We'd prefer you to attach the details on how you run the perf test. This would give the context for the reviewers to review this change. |
Contributor
|
@315157973 can you provide more details on the setup you used to get theses perf numbers. |
Contributor
Author
|
Hello, I have already replied in another pr, refer to #8207 |
…arClientImpl.java Co-authored-by: lipenghui <penghui@apache.org>
Contributor
Author
|
/pulsarbot run-failure-checks |
codelipenghui
approved these changes
Oct 12, 2020
Contributor
|
@315157973 Please fix the conflicts. |
Contributor
Author
|
/pulsarbot run-failure-checks |
wolfstudy
pushed a commit
that referenced
this pull request
Oct 30, 2020
### Motivation When Netty's `EventLoop` receives a new task,it will call `eventFdWrite`, and then trigger system calls, such as: system_call_fastpath, eventfd_write After we replaced EventLoop with a native jdk thread pool, the performance improved ### Modifications Use ThreadPoolExecutor instead of EventLoop ### Verifying this change We use pulsar perf for testing before: Aggregated throughput stats --- 11715556 records received --- 68813.420 msg/s --- 537.605 Mbit/s after: Aggregated throughput stats --- 18392800 records received --- 133314.602 msg/s --- 1041.520 Mbit/s (cherry picked from commit 3a298f3)
huangdx0726
pushed a commit
to huangdx0726/pulsar
that referenced
this pull request
Nov 13, 2020
### Motivation When Netty's `EventLoop` receives a new task,it will call `eventFdWrite`, and then trigger system calls, such as: system_call_fastpath, eventfd_write After we replaced EventLoop with a native jdk thread pool, the performance improved ### Modifications Use ThreadPoolExecutor instead of EventLoop ### Verifying this change We use pulsar perf for testing before: Aggregated throughput stats --- 11715556 records received --- 68813.420 msg/s --- 537.605 Mbit/s after: Aggregated throughput stats --- 18392800 records received --- 133314.602 msg/s --- 1041.520 Mbit/s
flowchartsman
pushed a commit
to flowchartsman/pulsar
that referenced
this pull request
Nov 17, 2020
### Motivation When Netty's `EventLoop` receives a new task,it will call `eventFdWrite`, and then trigger system calls, such as: system_call_fastpath, eventfd_write After we replaced EventLoop with a native jdk thread pool, the performance improved ### Modifications Use ThreadPoolExecutor instead of EventLoop ### Verifying this change We use pulsar perf for testing before: Aggregated throughput stats --- 11715556 records received --- 68813.420 msg/s --- 537.605 Mbit/s after: Aggregated throughput stats --- 18392800 records received --- 133314.602 msg/s --- 1041.520 Mbit/s
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Motivation
When Netty's
EventLoopreceives a new task,it will calleventFdWrite, and then trigger system calls, such as: system_call_fastpath, eventfd_writeAfter we replaced EventLoop with a native jdk thread pool, the performance improved
Modifications
Use ThreadPoolExecutor instead of EventLoop
Verifying this change
We use pulsar perf for testing
before:
Aggregated throughput stats --- 11715556 records received --- 68813.420 msg/s --- 537.605 Mbit/s
after:
Aggregated throughput stats --- 18392800 records received --- 133314.602 msg/s --- 1041.520 Mbit/s