-
Notifications
You must be signed in to change notification settings - Fork 72
adds a performance section to the homepage #425
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: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Kyle J. Davis <[email protected]>
Signed-off-by: Kyle J. Davis <[email protected]>
Signed-off-by: Roshan Khatri <[email protected]>
|
Super cool. Would be great to link to relevant blogs to performance and hash tables in case readers want to dive deeper. |
_data/perf.toml
Outdated
| title = "Throughput Across Versions" | ||
| iframe_url = "https://df0m5orgq2d38.cloudfront.net/public-dashboards/e6e8ec1f88954ddd8a67df1ab4966eb2" | ||
| description = "This dashboard visualizes throughput trends across Valkey versions. It helps compare key releases side by side, highlight performance gains from new features. Use it when evaluating whether a new version meets your performance SLOs before rollout." | ||
| methodology = "These metrics are generated using the valkey-perf-benchmark tool on a c8g.metal.2xl instance, running a matrix of configurations that vary pipelining (1, 10), I/O threading (1, 9), and data sizes 512 bytes. To further stabilize results, we apply IRQ tuning by pinning network interrupts away from CPUs dedicated to the server process, and we isolate the server and benchmark client on separate NUMA nodes to remove L3 cache contention. This controlled methodology ensures consistent, repeatable comparisons across versions and makes performance gains or regressions easier to attribute to real code changes rather than environmental variability." |
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.
| methodology = "These metrics are generated using the valkey-perf-benchmark tool on a c8g.metal.2xl instance, running a matrix of configurations that vary pipelining (1, 10), I/O threading (1, 9), and data sizes 512 bytes. To further stabilize results, we apply IRQ tuning by pinning network interrupts away from CPUs dedicated to the server process, and we isolate the server and benchmark client on separate NUMA nodes to remove L3 cache contention. This controlled methodology ensures consistent, repeatable comparisons across versions and makes performance gains or regressions easier to attribute to real code changes rather than environmental variability." | |
| methodology = "These metrics are generated using the valkey-perf-benchmark tool on an AWS c8g.metal.24xl instance, running a matrix of configurations that vary pipelining (1, 10), I/O threading (1, 9), and with a data size of 512 bytes. To further stabilize results, we apply IRQ tuning by pinning network interrupts away from CPUs dedicated to the server process, and we isolate the server and benchmark client on separate NUMA nodes to remove L3 cache contention." |
Include a link to the valkey-perf-benchmark tool.
The last sentence adds nothing.
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.
We also don't test the full matrix, since IO thread 9 and Pipelining 1 is not present. Is that intentional?
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.
We do have that data, but thats intentional, I can add it
_data/perf.toml
Outdated
| [[sections]] | ||
| title = "Memory Overhead Across Versions" | ||
| iframe_url = "https://df0m5orgq2d38.cloudfront.net/public-dashboards/1e3d87a62b794ce9aa81281d8399e4bf" | ||
| description = "This dashboard visualizes Memory Efficiency trends across Valkey versions. It helps compare releases side by side, highlight Memory Efficiency gains from new features. Use it when evaluating whether a new version meets your performance SLOs before rollout." |
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.
| description = "This dashboard visualizes Memory Efficiency trends across Valkey versions. It helps compare releases side by side, highlight Memory Efficiency gains from new features. Use it when evaluating whether a new version meets your performance SLOs before rollout." | |
| description = "This dashboard visualizes Memory Efficiency trends across Valkey versions. It helps compare releases side by side, highlight Memory Efficiency gains from new features." |
What Performance SLO?
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 meant Service Level Objective, but yeah can be removed
| description = "This dashboard visualizes throughput trends across Valkey versions. It helps compare key releases side by side, highlight performance gains from new features. Use it when evaluating whether a new version meets your performance SLOs before rollout." | ||
| methodology = "These metrics are generated using the valkey-perf-benchmark tool on a c8g.metal.2xl instance, running a matrix of configurations that vary pipelining (1, 10), I/O threading (1, 9), and data sizes 512 bytes. To further stabilize results, we apply IRQ tuning by pinning network interrupts away from CPUs dedicated to the server process, and we isolate the server and benchmark client on separate NUMA nodes to remove L3 cache contention. This controlled methodology ensures consistent, repeatable comparisons across versions and makes performance gains or regressions easier to attribute to real code changes rather than environmental variability." | ||
|
|
||
| [[sections]] |
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.
Memory overhead is not performance. I'm not sure why we're including this here.
_data/perf.toml
Outdated
| title = "Memory Overhead Across Versions" | ||
| iframe_url = "https://df0m5orgq2d38.cloudfront.net/public-dashboards/1e3d87a62b794ce9aa81281d8399e4bf" | ||
| description = "This dashboard visualizes Memory Efficiency trends across Valkey versions. It helps compare releases side by side, highlight Memory Efficiency gains from new features. Use it when evaluating whether a new version meets your performance SLOs before rollout." | ||
| methodology = "These benchmarks are generated by starting an empty instance of Valkey for each test, measuring memory usage, then adding 3 million string items of a certain data size, then measuring Valkey memory usage again. We take the increase in memory use, divide by the number of items, and subtract the size of the user data (key and value) to get the extra overhead bytes Valkey uses to track and organize the data. For this graph, we tested every value size from 8B to 128B inclusive, then averaged the numbers for each range in this chart." |
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'm still confused why this isn't an integration test. Why is this here? What is this methodology?
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.
This was with the intention of showing how we have improved valkey for throughput and memory utilisation
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.
We can surely add an integration test for it too
_data/perf.toml
Outdated
| [[sections]] | ||
| title = "Throughput Across Versions" | ||
| iframe_url = "https://df0m5orgq2d38.cloudfront.net/public-dashboards/e6e8ec1f88954ddd8a67df1ab4966eb2" | ||
| description = "This dashboard visualizes throughput trends across Valkey versions. It helps compare key releases side by side, highlight performance gains from new features. Use it when evaluating whether a new version meets your performance SLOs before rollout." |
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.
| description = "This dashboard visualizes throughput trends across Valkey versions. It helps compare key releases side by side, highlight performance gains from new features. Use it when evaluating whether a new version meets your performance SLOs before rollout." | |
| description = "This dashboard visualizes throughput trends across Valkey versions. It helps compare key releases side by side, highlight performance gains from new features." |
Performance SLOs is a very weird thing to call out.
Signed-off-by: Roshan Khatri <[email protected]>




Description
Issues Resolved
#421
Check List
--signoffBy submitting this pull request, I confirm that my contribution is made under the terms of the BSD-3-Clause License.