Add k6 load testing suite for graphql APIs #228
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose
This PR contains k6 load test suite for the Integration Control Plane (ICP) GraphQL API, focusing on read operations performance.
Prerequisites
Install k6:
Running ICP Server: Ensure the ICP server is running with:
https://localhost:9445http://localhost:9446Test Data: The tests assume you have some existing data. See Generate and Connect to the Test Database for setting up a comprehensive test dataset.
Run All Tests (Default)
cd k6_perf k6 run load-test.jsMetrics Collected
Passing Criteria (Thresholds)
The tests are configured with the following default thresholds:
What to Look For
Generate and Connect to the Test Database
Run base schema initialization:
Populate with load test data:
Update connection manager:
Edit
modules/storage/connection_manager.balto point to the test database:More details can be found in the README.md