Member-only story
How I Handle 1 Million Requests/Second with Java
A performance engineering deep dive covering virtual threads, connection pooling, async I/O, caching layers, read replicas, message batching, zero-copy serialisation, and load shedding—with real JMH benchmarks and before/after metrics.
The Starting Point
“We’ll just add more instances.” That single assumption cost my team three months and a small fortune in cloud spend — and it didn’t get us anywhere close to 1 million requests per second. Here’s what actually did.
In 2022, our fintech platform in Singapore was handling 50,000 requests per second. The business told us to prepare for 1 million. After 17 years of building Java systems, I can tell you horizontal scaling alone will never get you there.
Reaching 1M RPS demands fundamental changes in how your application processes requests. This is the story of how we got there — the techniques, the trade-offs, and the actual numbers.
The Architecture Before Optimisation
Our starting point was a typical Spring Boot microservice:
- Spring Boot 3.1 with traditional…









