Gitlab Runner

How can I improve the performance of my gitlab runners?

Guénolé Delanoë
·
October 19, 2022

What is Gitlab?


Gitlab is a powerful, open-source software that can be used for managing projects and code. It was created by the company of the same name.

Gitlab is a software development platform that has a Git-based repository and provides CI/CD services. It is an open-source application written in Ruby on Rails and it was originally developed by Dmitriy Zaporozhets in 2011.


Gitlab is used by many companies, including IBM, Sony, NASA, Facebook, and SpaceX.


What are Gitlab runners?


Gitlab runners are a tool that can be used for continuous integration and delivery. They are a part of the Gitlab CI/CD system, which is a set of tools for automating software engineering and software development processes.

Gitlab runners can run tests, execute commands, and deploy applications to any environment. They offer a lot more flexibility than their competitors because they can be used with any language or framework.

Gitlab runners are a very useful tool for developers who want to automate their workflow. They allow developers to focus on developing new features instead of spending time on repetitive tasks like testing and deployment.


Why are my runners so slow?


Runners are slow when they have to do a lot of work and are unable to complete it in a timely manner. There are many reasons for this but one of the most obvious ones are CPU issues, low memory or network pressure.


How can I speed up my gitlab jobs?


To reduce your gitlab jobs you should: using baremetal servers to run your gitlab runners and perform network optimization.

We know that one in every three minutes someone’s website goes down and it takes 99% more to recover. Since each sharp spike in latency or throughput impacts an already fractional recovery process at the end of the day, you need something better. You should always deploy your runners in data centers with 10 Gbps backbone for optimal performance to ensure your gitlab ci has enough resilience and stability margins to withstand failures brought on by scalability issues, unpredictable business traffic, connectivity cuts and other incidents.


Also, the use of a baremetal server could result in a significant increase in processing power.

Baremetal servers are physical servers without virtualization. They have the highest performance and the lowest overhead. The bare metal server has a lot of benefits such as faster IO, lower latency, better hardware utilization, and more control over the hardware resources.

A baremetal server is a physical server that does not run any hypervisor, so it can achieve higher performance than a virtual machine (VM) - up to 10%. It also has lower latency because there is no OS to boot up before running your runner.


Baremetal servers also have high performance in comparison to virtual machines. This is because with baremetal servers, you can use all the resources of the server, whereas with virtual machines, you share resources with other VMs on the same physical host. Another point for baremetal server is that the operating system is installed on a physical machine rather than a virtual one. The benefit of this is that it can access all the hardware and has higher performance than virtual machines.


If you don't want to spend a lot of time setting up your own gitlab runner: check out our high performance gitlab runners offers.