"Create new branch" API response time is slow
Summary
Create a new branch API response time is quite slow that might indicate a need for the investigation.
-
Internal Kibana logs shows request duration is over 7 seconds, logs from 2020-01-14 shows request with duration over 44 sec.
-
Results against 10k environment with 1 RPS shows average response time is more than a second:
Results summary:
- Environment: 10k
- Version: 12.7.0-pre
b9a726c7202
- Option: 60s_2rps
- Date: 2020-01-14
- Run Time: 65.81s (Start: 15:12:07 UTC, End: 15:13:13 UTC)
NAME | RPS | RPS RESULT | RESPONSE P95 | REQUEST RESULTS | RESULT |
---|---|---|---|---|---|
scenario_api_new_branches | 1/s | 1.07/s (>0.80/s) | 1037.70ms | 100.00% (>95%) | Passed |
Grafana dashboard results: http://10k.testbed.gitlab.net/-/grafana/d/tVdO8YIWz/server-performance?orgId=1&from=1579024294207&to=1579024508295
Note: According to the internal logs we do see over 50 requests per 30 sec occasionally, so 1 RPS should be a reasonable rate for this API endpoint.
- According to data from customers this endpoint appears to be slow with response time on perc95 = 55145.43 ms
Steps to reproduce
- Check out the GitLab Performance Tool
- Run the specific test with the
run-k6
command. For example against the 10k environment you would run this following from the project root:ACCESS_TOKEN="" bin/run-k6 -e 10k.json -o 60s_2rps.json -t scenario_api_new_branches.js
, whereACCESS_TOKEN
is a valid GitLab Personal Access Token for the specified environment(10k in this case). The token should come from a User that has admin access for the project(s) to be tested and have API and write_repository permissions. Note: 10k env may be shut down, so if you want to run test against another environment, for example Staging, please run:ACCESS_TOKEN="" bin/run-k6 -s -e staging.json -o 20s_2rps.json -t scenario_api_new_branches.js
- If you're seeking to run the test against your own environment the GPT's documentation has details on how to achieve this.
What is the current bug behavior?
The API endpoint is slow.
What is the expected correct behavior?
That the API response time is improved.