Rationale

GitLab requires performance testing to ensure features meet latency and throughput requirements before production deployment.

Requirements

  1. Performance-sensitive features must have load tests
  2. API response times must meet SLA:
  3. P50 < 100ms
  4. P95 < 500ms
  5. P99 < 1000ms
  6. Database queries must complete within:
  7. Simple queries: < 50ms
  8. Complex queries: < 200ms
  9. Performance regression tests must run in CI

Testing Types

Type Purpose Frequency
Load Testing Normal traffic simulation On PR
Stress Testing Breaking point discovery Pre-release
Soak Testing Memory leak detection Nightly
Spike Testing Traffic burst handling Pre-release

Metrics to Track

  • Response time (P50, P95, P99)
  • Throughput (requests/second)
  • Error rate under load
  • Resource utilization (CPU, memory, DB connections)

References