-
Notifications
You must be signed in to change notification settings - Fork 955
Enable client eviction by default, set maxmemory-clients too 100% by default #1840
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
base: unstable
Are you sure you want to change the base?
Conversation
…default The client eviction introduced in 2753429, at that time, the main idea of our introduction was to protect key data from being evicted, which is the server's perspective. In fact, the accumulated client output buffer can also violate the maxmemory contract and causing the machine to OOM. Signed-off-by: Binbin <[email protected]>
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## unstable #1840 +/- ##
============================================
+ Coverage 70.97% 71.04% +0.06%
============================================
Files 123 123
Lines 65665 65665
============================================
+ Hits 46608 46649 +41
+ Misses 19057 19016 -41
🚀 New features to boost your workflow:
|
|
I am not sure if 100% as default value is reasonable |
hpatro
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we shouldn't enable it by default. It cause throughput degradation (extra cpu cycle during command processing) due to constant tracking/metric update of client's input/output buffer size during read/write flow.
|
We discussed this briefly before we released 8.0. Here is the discussion: #653 (comment). My thoughts:
|
I prefer to leave it and let client decide the default value. |
|
Consensus from our weekly meeting was that we aren't entirely clear what problem this is trying to solve. There were concerns about folks migrating from Redis seeing different performance. So the preference was to not change the default and let users decide. This seems aligned with what other folks have said in this thread. |
The client eviction introduced in 2753429,
at that time, the main idea of our introduction was to protect key data
from being evicted, which is the server's perspective.
In fact, the accumulated client output buffer can also violate the maxmemory
contract and causing the machine to OOM.