OneEnv
← All posts📈 Part 18 of 21

We Put 1,001 Members in One Workspace

ShareLinkedInX

"Does it scale?" is easy to claim and cheap to say, so instead of saying it we did it: we seeded a single workspace with 1,001 real members and 20 services, put the busiest pages under 30 concurrent readers, and measured. Then we fixed what the numbers exposed and measured again. This post is the before/after.

What broke first

Not the governance engine — the members page. The original implementation returned all 1,001 members in one response: a 377KB payload the browser had to parse and render on every visit, with search running client-side over the whole array. Fine at 10 members, absurd at 1,000. It's exactly the kind of thing that never shows up in a demo and always shows up in month three.

Members page, beforeAfter the fix
One 377KB response, all 1,001 membersPaginated: 25 per page, 9.4KB
Client-side search over the full arrayServer-side search + role filter, indexed
p50 675ms under 30-way concurrent loadp50 147ms under the same load — 4.6× faster
Last-owner check needed the full listServer returns the active-owner count directly

What held up without changes

The governance spine
Branch merge with fan-out to inheriting services stayed flat — the per-service impact rows are written in one transaction.
Permission resolution
Per-(member, service) checks are Redis-cached with invalidation on write; 1,001 members didn't move the needle.
Export resolution
150 services × 60 keys resolved from cache in single-digit milliseconds after first fetch.
Notification visibility
Member-scoped filtering is applied before pagination, so page counts stay correct at any membership size.

The honest part

1,001 members is pilot scale, not planet scale — we're not claiming more than we measured. But the methodology is the point: measure against a realistically large workspace before users hit the wall, fix the concrete thing the numbers point at, and publish the numbers either way. The full run details live in the repo's performance log, and How We Test OneEnv covers the unit, integration, and real-browser suites that gate every change.

ShareLinkedInX