Feat: Add GKE Redis Benchmarking Support (Standalone & HA w/ HAProxy)#6462
Draft
manojcns wants to merge 6 commits intoGoogleCloudPlatform:masterfrom
Draft
Feat: Add GKE Redis Benchmarking Support (Standalone & HA w/ HAProxy)#6462manojcns wants to merge 6 commits intoGoogleCloudPlatform:masterfrom
manojcns wants to merge 6 commits intoGoogleCloudPlatform:masterfrom
Conversation
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
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.
This PR introduces Optimized and High Availability (HA) Redis benchmarking capabilities for Google Kubernetes Engine (GKE), significantly extending the existing baseline GKE Redis support in PKB.
Summary
While PKB already supports baseline Redis on Kubernetes, this contribution adds specialized benchmarks for Optimized GKE workloads and HA topologies. These new benchmarks leverage GKE-specific network features (like Host Networking) and robust architectures (HAProxy with Primary-Replica) to fully test the performance limits of Google Cloud infrastructure (C4, N2 machine types).
Key Features
gke_optimized_redis_memtier_v2):gke_redis_ha_haproxy):Ecosystem Support
Code Structure & Implementation Details
-- New Files
-- Modified Files
gke_optimized_redis_memtierconfiguration to register the new benchmark.StartServicesto respectredis_server_io_threadsflag, allowing dynamic assignment of IO threads for optimized runs.* Added support for
REDIS_8_0and updated installation logic to handle newer build dependencies.* Refactored
StartandStopcommands to use configurable binary names (supportingvalkey-serveralongsideredis-server).* Improved shutdown logic with retries to prevent race conditions during teardown.
* Added
ConfigureReplicationmethod to support Primary-Replica pairing.* Enhanced
_IsKubectlErrorEphemeralto treat "deadline exceeded" errors as retriable, improving stability on GKE.* Added a small retry sleep (3s) for ephemeral
kubectlconnection issues.perfkitbenchmarker/managed_memory_store.py:* Added
REDIS_8_0to the supported versions list.Example Run Command: