<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/valkey-scaling-a-valkey-cluster-to-1-billion-request-per-second-a0yaaxqfh" -->

---
title: Valkey · Scaling a Valkey Cluster to 1 Billion Request...
description: The upcoming Valkey 9.0 release introduces architectural improvements to cluster mode that enable scaling to 2,000 nodes and over 1 billion requests per second...
canonical: https://daily.dev/posts/valkey-scaling-a-valkey-cluster-to-1-billion-request-per-second-a0yaaxqfh
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Valkey · Scaling a Valkey Cluster to 1 Billion Request per Second | daily.dev
og:description: The upcoming Valkey 9.0 release introduces architectural improvements to cluster mode that enable scaling to 2,000 nodes and over 1 billion requests per second...
og:url: https://daily.dev/posts/valkey-scaling-a-valkey-cluster-to-1-billion-request-per-second-a0yaaxqfh
og:image: https://api.daily.dev/og/posts/A0yaaXQfh.png
og:image:alt: Valkey · Scaling a Valkey Cluster to 1 Billion Request per Second
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Valkey · Scaling a Valkey Cluster to 1 Billion Request per Second

**[Valkey](https://daily.dev/sources/valkey-blog)** · 10 min read · 0 upvotes · 0 comments

## Summary

The upcoming Valkey 9.0 release introduces architectural improvements to cluster mode that enable scaling to 2,000 nodes and over 1 billion requests per second with bounded recovery time. The post explains how the cluster bus gossip protocol handles membership, heartbeats, and failover, then details four key improvements: a shard ranking mechanism to prevent split-vote failures during multiple primary outages, a throttling mechanism for reconnection storms, radix-tree-based failure report optimization, and a lightweight pub/sub message header that shrinks metadata overhead from 2KB to ~30 bytes. A detailed benchmark setup using AWS r7g.2xlarge nodes and 750 c7g.16xlarge client instances demonstrates the throughput and recovery time results.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://valkey.io/blog/1-billion-rps>

## Questions this post answers

### How many nodes and requests per second can a Valkey 9.0 cluster handle?

A Valkey 9.0 cluster can scale to 2,000 nodes and sustain over 1 billion requests per second with bounded recovery time during network partitions. The benchmark used 2,000 nodes (1 primary and 1 replica per shard) deployed on AWS r7g.2xlarge instances, driven by 750 AWS c7g.16xlarge client instances running valkey-benchmark with SET commands.

_Track how database clustering limits evolve across releases like Valkey 9.0 on daily.dev._

### How does Valkey cluster mode prevent split votes when multiple primaries fail at once?

Valkey 8.1 introduced a ranking mechanism, added by Binbin Zhu, that orders shards by the lexicographic order of their shard ID so replica candidates don't all request votes simultaneously. Higher-ranked shards start their election sooner while lower-ranked ones add a delay, which prevents vote-splitting and gives the cluster a consistent recovery time during multiple primary outages.

_Developers debugging cluster failover behavior can follow these mechanisms on daily.dev._

### Why is the Valkey cluster bus pub/sub message header only 30 bytes instead of 2KB?

Roshan Khatri introduced a lightweight message header of about 30 bytes for pub/sub traffic on the cluster bus, replacing a header that carried roughly 2KB of overhead per packet. That overhead came from slot ownership information (16,384 bits, or 2,048 bytes) that is irrelevant to pub/sub messages, so stripping it out let pub/sub scale better across large clusters.

_See how infrastructure teams optimize distributed pub/sub overhead like this on daily.dev._

## Similar posts on daily.dev

- [Valkey 9.0 Introduces Multi-Database Clustering, Atomic Slot Migration, and Major Performance Gains](https://daily.dev/posts/valkey-9-0-introduces-multi-database-clustering-atomic-slot-migration-and-major-performance-gains-2gkxrlley) · InfoQ · 7 upvotes · 0 comments
- [Valkey 9.0 Released With Ability To Achieve One Billion Requests / Second](https://daily.dev/posts/valkey-9-0-released-with-ability-to-achieve-one-billion-requests-second-4b2f2pigi) · Phoronix · 48 upvotes · 1 comments
- [Valkey 9.0 Debuts Multidatabase Clustering for Massive-Scale Workloads](https://daily.dev/posts/valkey-9-0-debuts-multidatabase-clustering-for-massive-scale-workloads-bmxbj7zgl) · The New Stack · 14 upvotes · 0 comments
- [Announcing Valkey 9.1 for Amazon ElastiCache](https://daily.dev/posts/announcing-valkey-9-1-for-amazon-elasticache-pvemznhnh) · AWS Database Blog · 0 upvotes · 0 comments
- [Valkey · Finding big keys in a running Valkey cluster with Valkey Admin](https://daily.dev/posts/valkey-finding-big-keys-in-a-running-valkey-cluster-with-valkey-admin-hszlccgrq) · Valkey · 0 upvotes · 0 comments

---

Tags: [#aws](https://daily.dev/tags/aws), [#distributed-systems](https://daily.dev/tags/distributed-systems), [#valkey](https://daily.dev/tags/valkey)

[View this post on daily.dev](https://daily.dev/posts/valkey-scaling-a-valkey-cluster-to-1-billion-request-per-second-a0yaaxqfh)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Valkey · Scaling a Valkey Cluster to 1 Billion Request per Second","url":"https://daily.dev/posts/valkey-scaling-a-valkey-cluster-to-1-billion-request-per-second-a0yaaxqfh","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/valkey-scaling-a-valkey-cluster-to-1-billion-request-per-second-a0yaaxqfh"},"datePublished":"2026-08-23T12:19:35.566Z","dateModified":"2026-08-23T12:35:20.713Z","description":"The upcoming Valkey 9.0 release introduces architectural improvements to cluster mode that enable scaling to 2,000 nodes and over 1 billion requests per second...","image":"https://media.daily.dev/image/upload/s--58gMhC4P--/f_auto/v1722860399/public/Placeholder%2012","thumbnailUrl":"https://media.daily.dev/image/upload/s--58gMhC4P--/f_auto/v1722860399/public/Placeholder%2012","isAccessibleForFree":true,"articleSection":"Valkey","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Valkey","logo":"https://media.daily.dev/image/upload/s--XXPzEmD8--/f_auto,q_auto/v1787487496/logos/valkey-blog?_a=BAMAMicg0","url":"https://daily.dev/sources/valkey-blog"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/valkey-scaling-a-valkey-cluster-to-1-billion-request-per-second-a0yaaxqfh","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"aws,distributed-systems,valkey","timeRequired":"PT10M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Valkey","item":"https://daily.dev/sources/valkey-blog"},{"@type":"ListItem","position":3,"name":"Valkey · Scaling a Valkey Cluster to 1 Billion Request per Second"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/valkey-scaling-a-valkey-cluster-to-1-billion-request-per-second-a0yaaxqfh#faq","mainEntity":[{"@type":"Question","name":"How many nodes and requests per second can a Valkey 9.0 cluster handle?","acceptedAnswer":{"@type":"Answer","text":"A Valkey 9.0 cluster can scale to 2,000 nodes and sustain over 1 billion requests per second with bounded recovery time during network partitions. The benchmark used 2,000 nodes (1 primary and 1 replica per shard) deployed on AWS r7g.2xlarge instances, driven by 750 AWS c7g.16xlarge client instances running valkey-benchmark with SET commands. Track how database clustering limits evolve across releases like Valkey 9.0 on daily.dev."}},{"@type":"Question","name":"How does Valkey cluster mode prevent split votes when multiple primaries fail at once?","acceptedAnswer":{"@type":"Answer","text":"Valkey 8.1 introduced a ranking mechanism, added by Binbin Zhu, that orders shards by the lexicographic order of their shard ID so replica candidates don't all request votes simultaneously. Higher-ranked shards start their election sooner while lower-ranked ones add a delay, which prevents vote-splitting and gives the cluster a consistent recovery time during multiple primary outages. Developers debugging cluster failover behavior can follow these mechanisms on daily.dev."}},{"@type":"Question","name":"Why is the Valkey cluster bus pub/sub message header only 30 bytes instead of 2KB?","acceptedAnswer":{"@type":"Answer","text":"Roshan Khatri introduced a lightweight message header of about 30 bytes for pub/sub traffic on the cluster bus, replacing a header that carried roughly 2KB of overhead per packet. That overhead came from slot ownership information (16,384 bits, or 2,048 bytes) that is irrelevant to pub/sub messages, so stripping it out let pub/sub scale better across large clusters. See how infrastructure teams optimize distributed pub/sub overhead like this on daily.dev."}}]}
```

