Generally poor performance on shared runners

Self-managed GitLab CE - Users reporting poor runner performance

Users are reporting slow builds in general, on various pipelines using various languages and scripts.

Some low level builds (like C/C++) consumes a lot of CPU/memory, but other than this we rarely see worrying performance metrics.

Below I’ve listed some specs for our runner host and the runners themselves. We are not experts on GitLab yet. Any ideas for improvements are welcomed with open arms.

  • Self-managed GitLab CE, 2k users reference architecture
    • GitLab CE 15.11.13
    • Runner 15.11.1
  • Two instances of gitlab-runner in docker, i.e. two docker containers running the gitlab/gitlab-runner image. Both containers are configured for two concurrent jobs.
  • One systemd gitlab-runner service for docker-in-docker, configured for two concurrent jobs.
  • Runner host specifications
    • 8 vCPU’s
      • 4 sockets (VMWare Hypervisor has two physical sockets)
      • 2 cores per socket
      • 1 thread per core
    • Rocky Linux 8
    • SSD Storage