What holding 700,000 connections taught me
By Kyle Pierce ·
Scale arrived before the architecture did
In 2017 I built a browser mining platform to understand mining at the protocol level. When a larger competitor took off, I opened it to webmasters and launched with a 12% fee against their 30%. Traffic exploded almost overnight, and the system I had built was not designed for it.
What the redesign changed
| Before the redesign | After the redesign |
|---|---|
| Before the redesignVertical scaling and rushed patches | After the redesignServices split out, most rewritten in Go |
| Before the redesignBlanket verification of every share | After the redesignTiered verification by historical accuracy, submission patterns and cost |
| Before the redesignOne route for every miner | After the redesignAnycast to the nearest edge proxy and pool region |
Servers went down, and I made the usual mistakes
Early on I scaled vertically, shipped rushed patches and fought fires. None of it held. The architecture needed a redesign built around throughput and cost, and I did that over the next month while the platform stayed live.
What the redesign changed
I split the system into microservices and rewrote most backend services in Go for lower latency and better concurrency. I tuned the stratum proxy for low-difficulty browser shares. I replaced blanket share verification with a tiered pipeline that checked submissions according to historical accuracy, submission patterns and cost thresholds. That cut verification overhead without letting invalid or malicious shares through. Anycast routing connected each miner to the nearest edge proxy and pool region.
Where it ended up
At peak the platform held about 700,000 concurrent connections, roughly 18% of the Monero network hash rate. It was self-funded and profitable throughout.
The lesson I keep is that the margins were thin enough for small inefficiencies to erase earnings. Capacity was never the only question. What each connection cost mattered as much.
One review of how your team ships, a concrete plan, and you decide whether to continue.
[email protected]