在CentOS上优化GitLab的网络设置可以通过以下几个方面来实现:
sudo sysctl -w net.ipv4.tcp_tw_reuse=1
sudo sysctl -w net.ipv4.tcp_tw_recycle=1
sudo sysctl -w net.ipv4.tcp_fin_timeout=30
sudo sysctl -w net.core.somaxconn=65535
sudo sysctl -w net.ipv4.ip_local_port_range="1024 65535"
sudo sysctl -w net.ipv4.tcp_fastopen=3
/etc/gitlab/gitlab.rb
文件,调整Unicorn worker的数量:unicorn['worker_processes'] = 4 # 根据服务器CPU核心数调整
/etc/gitlab/gitlab.rb
中启用HTTP/2:nginx['enable'] = true
nginx['listen_port'] = 80
nginx['listen_https'] = false
nginx['ssl_certificate_file'] = "/etc/gitlab/ssl/gitlab.example.com.crt"
nginx['ssl_certificate_key_file'] = "/etc/gitlab/ssl/gitlab.example.com.key"
nginx['ssl_protocols'] = "TLSv1.2 TLSv1.3"
nginx['ssl_ciphers'] = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:!DSS"
/etc/gitlab/gitlab.rb
中启用Keep-Alive:nginx['keepalive_timeout'] = 65
/etc/gitlab/gitlab.rb
中调整日志级别,减少不必要的日志输出:log_level = "info" # 可以调整为"warn"或"error"以减少日志量
sudo gitlab-ctl restart
通过以上步骤,可以显著提高CentOS上GitLab的网络性能。根据实际情况调整配置参数,以达到最佳性能。