Vibeleaderboard
← All Intel
Intel / post

How GitHub Rebuilt Git Writes for Agent-Scale Traffic

Source
x.com
Date
GitHub@github

As traffic grew exponentially, we moved 99.99999% of GitHub's Git repos to Azure. A new write path moves the last, busiest repos, keeps cross-region round trips from capping throughput, and enables stateless Azure Blob Storage replicas. https://t.co/arMfnIfx0o

Why it matters

traffic is stressing Git's write path. GitHub moved quorum serialization from per-repository to per-reference, so parallel agent pushes to different branches no longer block each other, with 3-4x throughput in internal tests.

Key takeaways · AI-distilled
  • In GitHub's Spokes quorum, a write commits on a majority but waits for every healthy replica up to a timeout while holding a repository-wide lock, so the slowest replica sets write latency and throughput. An Azure replica ~1,000 miles away adds ~25ms per round trip.
  • Git's consistency guarantee applies per reference: once an update is accepted, no client may see an older value. That is why GitHub can narrow serialization to individual references, so only writes that contend on the same ref wait for each other.
  • The Azure migration began in August 2025. Most repositories now have two of five replicas in Azure, which serves about half of Git traffic; the last 0.00001% are busy repos whose write ceilings could not absorb the cross-region latency.
  • A virtual write replica makes Azure Blob Storage a quorum member: an ephemeral node streams writes to object storage, so a write is acknowledged only once durable there, and it batches writes on disjoint references into one set of network I/Os.
  • With roughly 100 to 1,000 reads per write, virtual read replicas warm from object storage and serve reads without joining the quorum. GitHub's load hit its own limits first, but background reconciliation does not yet suit every read.
Terms in this piece · Glossary
  • AI agent — An AI system that doesn't just answer once but works toward a goal in a loop — taking actions, reading the results, and deciding what to do next.
  • agent harness — The scaffolding around a model that turns it into a working agent — the loop, the tools it can call, and the rules for when to stop.
More from GitHub
Recommended reads
Comments

Checking sign-in…

Loading comments…