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