Load Testing
Large Staging Collider
Load testing is done by simply running siege on a bunch of URLs at a regular interval. Monitoring of the results in turn is done using Prometheus.
See the Large Staging Collider repository for additional instructions.
GitLab Load Kit
GitLab Load Kit uses k6 to generate load. The author reports:
gitlab-load-kit
is able to quick induce enough load from my laptop to start causing issues in staging
See the GitLab Load Kit repository for additional instructions.
JMeter
Some customers use JMeter to load test GitLab. Here are instructions to set this up:
Create a Thread Group. Here is where you set the number of users and the ramp-up period.
Add a Random Variable element by right-clicking on Thread Group:
Add an HTTP Header element (right-click on Thread Group -> Add -> HTTP Header Manager):
Add an HTTP request element. Fill in https if you are using HTTPS. Add the hostname to Server Name field. Select POST as the request type, and
api/v4/projects?private_token=XXX
. Add { “name”: “${PROJECTNAME}” } as the Body Data:Add a Graph Results and View Results element to see output.
Click “Run” to run the test.