Improve Performance of vulnerabilities Graphql API Under Load to Meet Target
The TTFB (Time to First Byte) of the Vulnerabilities Graphql Api is over our performance target under load:
* Environment: 10k
* Environment Version: 15.5.0-pre `372d2b302cc`
* Option: 60s_200rps
* Date: 2022-09-30
* Run Time: 1m 9.29s (Start: 14:56:38 UTC, End: 14:57:47 UTC)
* GPT Version: v2.11.0
❯ Overall Results Score: 64.49%
NAME | RPS | RPS RESULT | TTFB AVG | TTFB P90 | REQ STATUS | RESULT
------------------------------------------------|-------|----------------------|-----------|--------------------|----------------|-----------------
api_v4_projects_vulnerability_report_no_filters | 200/s | 128.98/s (>160.00/s) | 1406.26ms | 2139.28ms (<250ms) | 100.00% (>99%) | FAILED²
Test Details
Query used in the test:
query
{
project(fullPath: "${projectToUse}")
{
vulnerabilities{
nodes{
id
resolvedOnDefaultBranch
state,
scanner{
id
},
message,
title,
identifiers
{
externalId,
name
},
detectedAt,
resolvedAt,
resolvedBy{
id
}
}
}
}
}
Testing was run within our lab condition GitLab Performance Tool pipeline against our 10k Reference Architecture environment. GitLab Performance Tool tests information is listed at Current test details page.
The latest GitLab Performance pipeline results can always be found here. Through this page full Server Metrics can be found via the Metrics Dashboard
link on that page.
As per our performance targets this endpoint's TTFB metric is above the target of 2000 ms which is severity2. Task is to improve the endpoint's performance into next tier
Edited by Harsha Muralidhar