Verify GitLab Puma upgrade to v6.2.2
Upgrade to Puma v6.2.2 (gitlab-org/gitlab!119135 - merged)
-
Build 10k environment using image from MR above -
Copy 10k configuration example under a new folder, run symlink -
Update configs to use your test GCP project -
Create token on GitLab.com, it will be passed to Ansible command later to download custom GitLab package from MR -
Add gitlab_deb_download_urlandgitlab_deb_download_url_headersfor vars.yaml to switch GET using custom Omnibus package from MR - https://gitlab.com/gitlab-org/gitlab-environment-toolkit/-/blob/main/docs/environment_configure.md#gitlab-omnibus-installation-options - example how it can look like:-
gitlab_deb_download_url: "{{ lookup('env','GITLAB_UBUNTU_IMAGE') | default('https://gitlab.com/api/v4/projects/14588374/jobs/2474262447/artifacts/pkg/ubuntu-focal/gitlab.deb', true)}}" # update to use latest image url gitlab_deb_download_url_headers: { 'PRIVATE-TOKEN': "{{ lookup('env','PRIVATE_PROD_TOKEN')}}" } # use your .com token
-
-
Build env following GET docs
-
-
Check that Puma version is new on Rails node - should be v6.2.2 -
Ensure requried rate limits are disabled - for GPT testing, custom Post Configure task is used https://gitlab.com/gitlab-org/quality/gitlab-environment-toolkit-configs/quality/-/blob/main/custom_task_files/gitlab_tasks/post_configure.yml#L1-35 applies it automatically (see https://gitlab.com/gitlab-org/quality/gitlab-environment-toolkit-configs/quality/-/blob/main/configs/reference_architectures/10k/ansible/inventory/vars.yml#L24-40 and https://gitlab.com/gitlab-org/gitlab-environment-toolkit/-/blob/main/docs/environment_advanced.md#custom-tasks. -
Provision test VM in the same region zone as 10k env => to trigger seed and performance testing against env from it to reduce latency -
Seed with performance data - https://gitlab.com/gitlab-org/quality/performance/-/blob/main/docs/environment_prep.md -
Horizontal Data -
Vertical Large Project Data
-
-
Run GPT from test VM - https://gitlab.com/gitlab-org/quality/performance/-/blob/main/docs/k6.md. Explore using screento trigger commands to ensure that command won't interrupt if your internet connection is unstable.-
Running against 10k environment so using 60s_200rps.json
-
-
Analyse results, compare it to https://gitlab.com/gitlab-org/quality/performance/-/wikis/Benchmarks/Latest/10k -
Export Server performance metrics from Grafana, share link in the issue -
Destroy env and test VM
Example how analysis can look like - gitlab-org/gitlab#364051 (comment 1010450415), gitlab-org/quality/reference-architectures#47
Detailed Results #1781 (comment 1385848713)
Edited by John McDonnell