GitLab Performance & Tuning Training

Duration: 2 days (6 hours per day)

Day 1 – Performance Fundamentals & GitLab Architecture

  • Chapter 1: GitLab Architecture Deep Dive
    • GitLab components: Gitaly, Sidekiq, PostgreSQL, Redis, Nginx
    • Understanding internal workflows and resource usage
    • GitLab Omnibus vs Source installations and performance differences
  • Chapter 2: Monitoring Performance Metrics
    • Identifying bottlenecks: CPU, memory, I/O, database
    • Using built-in GitLab monitoring dashboards
    • Integrating Prometheus and Grafana for advanced metrics
  • Chapter 3: PostgreSQL Tuning
    • Connection pool configuration for high concurrency
    • Query optimization and indexes
    • VACUUM, autovacuum, and maintenance best practices
  • Chapter 4: Redis Optimization
    • Configuring Redis for caching and Sidekiq queues
    • Memory limits, persistence, and eviction policies

Day 2 – Advanced Optimization & Scaling

  • Chapter 5: Gitaly and Repository Performance
    • Understanding Gitaly storage nodes
    • Repository caching, GC tuning, and Git operations optimization
    • Sharding and replication strategies
  • Chapter 6: Sidekiq Worker Optimization
    • Configuring concurrency and queues
    • Identifying long-running jobs
    • Scheduling and prioritizing background tasks
  • Chapter 7: Nginx and Web Server Tuning
    • Connection limits, caching, and gzip compression
    • SSL offloading and keep-alive tuning
  • Chapter 8: Scaling GitLab
    • Horizontal scaling: GitLab runners, Gitaly nodes, Redis, PostgreSQL replication
    • Load balancer configuration and HA setup
    • Best practices for CI/CD pipelines under heavy load