Repository navigation
Add Azure Benchmark Orchestration Tools - #2132
Merged
Merged
Conversation
Copilot started reviewing on behalf of
Vasileios Zois (vazois)
September 14, 2026 16:33
View session
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Bootstrap error suppression, orchestration races, credential exposure, and invalid benchmark configurations can produce insecure deployments or unreliable results.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Adds a self-contained Azure toolkit for provisioning VMSS environments and benchmarking Garnet or Valkey. The title and description match the implementation, though testing details and an issue link are absent.
Changes:
- Deploys shared Azure networking, storage, Key Vault, and VMSS resources.
- Bootstraps hosts and manages Garnet/Valkey processes and clusters.
- Runs and aggregates RESP and memtier workloads.
File summaries
| File | Description |
|---|---|
benchmark/Azure.benchmark/.gitattributes |
Configures file handling. |
benchmark/Azure.benchmark/.gitignore |
Excludes generated artifacts. |
benchmark/Azure.benchmark/README.md |
Documents the suite workflow. |
01-resources/README.md |
Documents shared infrastructure. |
01-resources/deploy-common-resources.ps1 |
Orchestrates resource deployment. |
01-resources/network/network-parameters.json |
Supplies network parameters. |
01-resources/network/network.bicep |
Defines networking resources. |
01-resources/security/.gitignore |
Excludes local key material. |
01-resources/security/keyvault.bicep |
Defines Key Vault resources. |
01-resources/security/keyvault.json |
Contains generated vault deployment JSON. |
01-resources/security/manifest.json |
Configures SSH key locations. |
01-resources/security/ssh-key-utils.ps1 |
Resolves and manages SSH keys. |
01-resources/storage/storage.bicep |
Defines shared storage. |
02-platform/README.md |
Documents VMSS management. |
02-platform/cloud-config-azurelinux.yml |
Bootstraps Azure Linux hosts. |
02-platform/cloud-config.yml |
Bootstraps Ubuntu hosts. |
02-platform/manage-vmss.ps1 |
Manages VMSS lifecycle and tools. |
02-platform/vmss.bicep |
Defines VMSS infrastructure. |
02-platform/tools/manifest.json |
Lists bootstrap actions. |
02-platform/tools/update.ps1 |
Executes bootstrap actions. |
02-platform/tools/bench/memtier-bench.ps1 |
Runs memtier on guest VMs. |
02-platform/tools/bootstrap/build.ps1 |
Builds benchmark repositories. |
02-platform/tools/bootstrap/clone-repos.ps1 |
Clones required repositories. |
02-platform/tools/bootstrap/config.env |
Provides bootstrap defaults. |
02-platform/tools/bootstrap/install-dotnet.ps1 |
Installs .NET. |
02-platform/tools/bootstrap/list-ips.ps1 |
Lists VM network addresses. |
02-platform/tools/bootstrap/setup-cluster-dir.ps1 |
Creates cluster directories. |
02-platform/tools/bootstrap/setup-network.ps1 |
Tunes guest networking. |
02-platform/tools/bootstrap/setup-nvme.ps1 |
Configures NVMe storage. |
02-platform/tools/bootstrap/setup-ramdisk.ps1 |
Configures tmpfs storage. |
02-platform/tools/bootstrap/setup-ssh-keys.ps1 |
Installs intra-cluster SSH keys. |
02-platform/tools/cluster/cluster-deploy.ps1 |
Orchestrates remote clusters. |
02-platform/tools/cluster/mcluster.ps1 |
Manages per-VM processes. |
02-platform/tools/cluster/simple-setup.ps1 |
Provides simplified cluster setup. |
02-platform/tools/config/garnet/defaults.conf |
Bundles Garnet defaults. |
02-platform/tools/config/garnet/garnet-aof-mlog.conf |
Configures multi-log AOF. |
02-platform/tools/config/garnet/garnet-aof-nvme.conf |
Configures NVMe AOF. |
02-platform/tools/config/garnet/garnet-aof.conf |
Configures standard AOF. |
02-platform/tools/config/garnet/garnet-aofx4-disk.conf |
Configures four-way disk AOF. |
02-platform/tools/config/garnet/garnet-aofx4.conf |
Configures four-way AOF. |
02-platform/tools/config/garnet/garnet-aofx8-disk.conf |
Configures eight-way disk AOF. |
02-platform/tools/config/garnet/garnet-aofx8m.conf |
Configures manual eight-way AOF. |
02-platform/tools/config/garnet/garnet-aofx16-disk.conf |
Configures 16-way disk AOF. |
02-platform/tools/config/garnet/garnet-aofx16m.conf |
Configures manual 16-way AOF. |
02-platform/tools/config/garnet/garnet-cache-replication.conf |
Configures cache replication. |
02-platform/tools/config/garnet/garnet-cache.conf |
Configures in-memory Garnet. |
02-platform/tools/config/garnet/garnet-disk.conf |
Configures disk-backed Garnet. |
02-platform/tools/config/valkey/valkey-aof.conf |
Configures Valkey AOF. |
02-platform/tools/config/valkey/valkey-cache.conf |
Configures Valkey caching. |
02-platform/tools/config/valkey/valkey-disk.conf |
Configures disk-backed Valkey. |
02-platform/tools/config/valkey/valkey-nvme.conf |
Configures NVMe-backed Valkey. |
02-platform/tools/config/valkey/valkey-ramdisk.conf |
Configures ramdisk-backed Valkey. |
02-platform/tools/config/valkey/valkey-repl.conf |
Configures Valkey replication. |
03-workload/README.md |
Documents workload operation. |
03-workload/cluster.ps1 |
Coordinates clusters from workstations. |
03-workload/bench/EXPERIMENTAL_SETUP.md |
Describes benchmark methodology. |
03-workload/bench/bench.conf |
Supplies RESP benchmark defaults. |
03-workload/bench/memtier-bench.ps1 |
Drives distributed memtier workloads. |
03-workload/bench/memtier.conf |
Supplies memtier defaults. |
03-workload/bench/read.conf |
Defines read workloads. |
03-workload/bench/resp-bench.ps1 |
Drives distributed RESP workloads. |
03-workload/bench/utils.ps1 |
Provides shared workload helpers. |
03-workload/bench/write.conf |
Defines write workloads. |
Review details
- Files reviewed: 63/63 changed files
- Comments generated: 17
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
End-to-end toolkit for provisioning Azure infrastructure and running Garnet/Valkey benchmarks: 01-resources (Bicep for network/key vault/storage), 02-platform (VMSS provisioning, bootstrap tooling, server configs, cluster helpers) and 03-workload (memtier/resp workload drivers). All personal and account-specific identifiers are replaced with __OWNER__ and __SSH_USER_KEY__ placeholders; run initialize-placeholders.ps1 to fill them. Compiled Bicep ARM templates are git-ignored (the .bicep files are the source of truth). See SECURITY-REVIEW.md for the open-source review notes. Co-authored-by: Copilot <[email protected]> Copilot-Session: f62e2e55-c61d-4fcb-8a0b-1b40b04a65f3
Vasileios Zois (vazois)
force-pushed
the
vazois/azure-bench
branch
from
September 14, 2026 16:50
e5f1625 to
b995c9a
Compare
kevin-montrose
approved these changes
Sep 23, 2026
x@01 (x-at-01)
added a commit
to webc-fork/garnet
that referenced
this pull request
Oct 4, 2026
…intenance loop cancellation (microsoft#2162), github-actions bump (microsoft#2169), Azure Benchmark Orchestration Tools (microsoft#2132)
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.
Summary
Adds
benchmark/Azure.benchmark: an end-to-end toolkit for provisioning Azure infrastructure and running Garnet/Valkey performance benchmarks in the cloud.The suite is organized into three stages:
manage-vmss.ps1,vmss.bicep), cloud-init configs, and bootstrap tooling (dotnet install, repo clone, build, NVMe/ramdisk/network setup, SSH key distribution). Includes Garnet and Valkey server configs for cache/disk/AOF/replication scenarios and cluster deployment helpers.memtier-bench.ps1,resp-bench.ps1,cluster.ps1) with read/write/mixed workload configs and an experimental-setup writeup.Full TLS support
serverandclientVMSS instances.azurebench-servercertificate identity. Both automatic and manual cluster creation are TLS-aware.bench-tls.confandmemtier-tls.confworkload configurations.Notes
benchmark/Azure.benchmark; the only existing benchmark-code changes add secure TLS password-file and issuer-certificate support to Resp.benchmark.