Please help fill in this template with all the details to help others help you more efficiently.
Problem to solve
After upgrading to GitLab version 18, we’re experiencing a significant performance degradation on our production instance.
- Page load times for the Web UI are now consistently 2–4 seconds per page.
- API requests (including basic REST calls) take around 2–3 seconds each.
- This is a major regression from previous versions, where pages and API responses were much faster under the same hardware setup.
We expect GitLab’s UI and API to be much more responsive under our current hardware and workload, especially since performance was fine before the upgrade.
Steps to reproduce
- Upgrade from a previous version (v17.x) to GitLab v18.x on our production environment.
- Observe degraded performance in both UI and API.
- Troubleshooted:
- Checked CPU/memory utilization → relatively low usage
- Checked Nginx & GitLab logs → no errors or timeouts
- Disabled any background jobs temporarily to isolate cause → no improvement
- As a control test, we set up a fresh GitLab 18 instance on a separate VM (homelab):
- 8 vCPUs, 24 GB RAM
- No repositories
- No runners
- Only basic external_url set
- Clean default configuration
- No customizations or users
- Connected via LAN (1 Gbps)
- Result: Even in this minimal clean setup, page loads still take 1–2 seconds, which suggests this is not due to hardware, networking, or workload.
Configuration
Production Instance:
- 16 vCPU
- 22 GB RAM
- SSD Enterprise
- GitLab Enterprise Edition (Omnibus) 18.0.1
- External Nginx proxy (configured properly, with keep-alive and caching enabled)
Test VM:
- 8 vCPU
- 24 GB RAM
- SSD (Consumer-grade but fast)
- Default GitLab Omnibus install
- No custom configuration beyond external_url
- Accessed over LAN (1 Gbps)
Versions
- Self-managed
GitLab version (from sudo gitlab-rake gitlab:env:info):
GitLab 18.0.1 (Omnibus)
Evidence
-
Production:
-
Test:
Helpful resources
We have reviewed the following:
- GitLab upgrade and performance tuning docs
- Existing issues on GitLab project and forum
- Prometheus metrics (CPU, Memory, DB) – no anomalies
- Nginx reverse proxy config – optimized for keep-alive, caching, and timeouts