Skip to content

Conversation

chenshi5012
Copy link
Contributor

multiple pipelines sync concurrently will improvement the performance under redis cluster model
A 5-node cluster, vertically representing the results from the same batch
Extraordinary Suggestion: Convert sync to multi-threaded execution, which can improve performance by about 80%

image

@chenshi5012 chenshi5012 reopened this Mar 23, 2023
@codecov-commenter
Copy link

codecov-commenter commented Mar 23, 2023

Codecov Report

Patch coverage: 63.15% and project coverage change: -0.09 ⚠️

Comparison is base (4a8b9e7) 67.06% compared to head (4551bda) 66.97%.

❗ Current head 4551bda differs from pull request most recent head e9efd7d. Consider uploading reports for the commit e9efd7d to get more accurate results

📣 This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #3331      +/-   ##
============================================
- Coverage     67.06%   66.97%   -0.09%     
+ Complexity     4662     4657       -5     
============================================
  Files           263      263              
  Lines         15092    15101       +9     
  Branches        952      952              
============================================
- Hits          10121    10114       -7     
- Misses         4566     4578      +12     
- Partials        405      409       +4     
Impacted Files Coverage Δ
...ava/redis/clients/jedis/MultiNodePipelineBase.java 21.65% <63.15%> (+0.56%) ⬆️

... and 4 files with indirect coverage changes

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@chenshi5012
Copy link
Contributor Author

The more cluster nodes , the greater improvement

Copy link
Contributor

@yangbodong22011 yangbodong22011 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general, I agree with this PR and also submitted some comments.

…, otherwise the await cannot be released

Signed-off-by: c00603587 <[email protected]>
@sazzad16 sazzad16 added this to the 4.4.0 milestone Mar 27, 2023
@yangbodong22011
Copy link
Contributor

@sazzad16 @chenshi5012 I made some modifications, mainly including:

  1. Introduce JedisThreadFactoryBuilder to name threads (this is beneficial for future debugging)
  2. executorService is a static object, created by default (even if the user does not use MultiNodePipeline)
  3. Users can customize the executor through setExecutorService.

@sazzad16
Copy link
Contributor

@yangbodong22011 WDYT about merging this PR before your commit and start a new PR from your commit?

@yangbodong22011
Copy link
Contributor

@yangbodong22011 WDYT about merging this PR before your commit and start a new PR from your commit?

sure, everything is back to the way it was.

@sazzad16
Copy link
Contributor

@yangbodong22011 Thank you

@sazzad16 sazzad16 merged commit e193365 into redis:master Mar 28, 2023
@sazzad16
Copy link
Contributor

Merged. Thank you @chenshi5012 for your contribution!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants