Skip to content

[server] - Create Load Testing Suite with k6 for API Stress Testing #117

Description

@dark-sarge

Location: tests/load/

Description

AirFlex has no load testing. Before launch, the server must be stress-tested to find throughput limits, identify slow database queries under concurrency, and validate that the rate limiting configuration behaves correctly under load.

Acceptance Criteria

  • k6 load test scripts are created in tests/load/ for the following scenarios: marketplace listing page (100 virtual users, 5-minute sustained), OTP request burst (50 virtual users, 1 minute), trade creation (20 virtual users, 3 minutes).
  • Each script asserts p95 response time < 500 ms and error rate < 1%.
  • A pnpm load:test script runs all k6 scripts against LOAD_TEST_BASE_URL env variable.
  • A load-test.yml GitHub Actions workflow runs the load tests on-demand (manual trigger) against the staging environment.
  • k6 results are exported as JSON and parsed into a summary Markdown table posted as a PR comment by the workflow.
  • Results from each load test run are stored as workflow artifacts for historical trend comparison.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Stellar WaveIssues in the Stellar wave program

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions