優化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-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的網絡性能。根據實際情況調整配置參數,以達到最佳性能。