Load testing: 10 → 100 → 1000 concurrent users #31

Closed
opened 2026-03-25 22:26:01 +00:00 by mik-tf · 2 comments
Member

Goal

Verify the marketplace handles concurrent users without degradation.

Phases

Phase 1: 10 concurrent users (baseline)

  • 10 simultaneous register + login + browse + buy flows
  • Measure: response times, error rate, wallet consistency
  • Tool: k6 or simple bash concurrent curl

Phase 2: 100 concurrent users (follow-up)

  • 100 simultaneous users
  • Identify bottlenecks (OSIS connection pool, signature verification CPU)

Phase 3: 1000 concurrent users (stress)

  • Full stress test
  • Identify breaking points
  • Horizontal scaling requirements

Key endpoints to test

  • POST /api/auth/register (most expensive — keypair registration)
  • GET /api/auth/challenge (HMAC computation)
  • POST /api/auth/verify (ed25519 verification)
  • POST /api/wallet/transact (signature verify + balance check + debit)
  • GET /api/products/featured (catalog query)

Success criteria

  • Phase 1: p99 < 500ms, 0% errors
  • Phase 2: p99 < 2s, < 1% errors
  • Phase 3: document breaking point

Signed-off-by: mik-tf

## Goal Verify the marketplace handles concurrent users without degradation. ## Phases ### Phase 1: 10 concurrent users (baseline) - 10 simultaneous register + login + browse + buy flows - Measure: response times, error rate, wallet consistency - Tool: k6 or simple bash concurrent curl ### Phase 2: 100 concurrent users (follow-up) - 100 simultaneous users - Identify bottlenecks (OSIS connection pool, signature verification CPU) ### Phase 3: 1000 concurrent users (stress) - Full stress test - Identify breaking points - Horizontal scaling requirements ## Key endpoints to test - POST /api/auth/register (most expensive — keypair registration) - GET /api/auth/challenge (HMAC computation) - POST /api/auth/verify (ed25519 verification) - POST /api/wallet/transact (signature verify + balance check + debit) - GET /api/products/featured (catalog query) ## Success criteria - Phase 1: p99 < 500ms, 0% errors - Phase 2: p99 < 2s, < 1% errors - Phase 3: document breaking point Signed-off-by: mik-tf
Author
Member

Roadmap position: 4/5 (v2.0 track, issue #26)

Previous baseline: v1.4.0
Next after this: → #30 (admin dashboard)

Signed-off-by: mik-tf

**Roadmap position: 4/5** (v2.0 track, issue #26) Previous baseline: v1.4.0 Next after this: → #30 (admin dashboard) Signed-off-by: mik-tf
Author
Member

Superseded by mycelium_code/home#36

Load testing is now Phase 3 of the new production roadmap (mycelium_code/home#40). Same goals, but now depends on Phase 1 (embed OSIS) and Phase 2 (single-VM deploy) so we test real persistence, not fixture JSON files.

Signed-off-by: mik-tf

## Superseded by https://forge.ourworld.tf/mycelium_code/home/issues/36 Load testing is now Phase 3 of the new production roadmap (https://forge.ourworld.tf/mycelium_code/home/issues/40). Same goals, but now depends on Phase 1 (embed OSIS) and Phase 2 (single-VM deploy) so we test real persistence, not fixture JSON files. Signed-off-by: mik-tf
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coopcloud_code/home#31
No description provided.