-
Notifications
You must be signed in to change notification settings - Fork 94
[LogServer] Do not share record cache with log-server #3620
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
Conversation
Test Results 5 files - 2 5 suites - 2 59s ⏱️ - 3m 59s Results for commit f3e9ed3. ± Comparison against base commit 83e6966. This pull request removes 54 and adds 25 tests. Note that renamed tests count towards both.
♻️ This comment has been updated with latest results. |
Introduces `networking.disable_compression` that disables Zstd compression for grpc services. This can be useful for cpu-challenged environments. Compression is still enabled by default. ``` // intentionally empty ```
This addresses a major cache thrashing issue in big-ish clusters. Log servers would prematurely evict sequencer-local records when they receive less important records on log-server. Additionally, this significantly reduces contention on the cache which saves some CPU time. Tests show a ~4-8% throughput increase when CPU is saturated.
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.
Insightful, thanks for fixing this! I can see why one would think to put a record in the cache on the log server's write path.
This addresses a major cache thrashing issue in big-ish clusters. Log servers would prematurely evict sequencer-local records when they receive less important records on log-server. Additionally, this significantly reduces contention on the cache which saves some CPU time. Tests show a ~4-8% throughput increase when CPU is saturated.
Stack created with Sapling. Best reviewed with ReviewStack.