一、基础网络配置优化
/etc/sysconfig/network-scripts/ifcfg-eth0),配置静态IP(IPADDR)、子网掩码(PREFIX)、网关(GATEWAY)和DNS服务器(DNS1,如8.8.8.8),避免动态IP变动导致的服务中断;同时修改/etc/resolv.conf添加备用DNS(如8.8.4.4),提升域名解析稳定性。/etc/gitlab/gitlab.rb,设置external_url为域名或公网IP(如http://gitlab.example.com或https://gitlab.example.com),确保外部用户可通过统一地址访问;若启用HTTPS,需配置SSL证书路径(nginx['ssl_certificate_file']和nginx['ssl_certificate_key_file'])。firewall-cmd开放GitLab必需端口(HTTP 80、HTTPS 443、SSH 22),并设置为永久生效(--permanent),随后重载防火墙(--reload);若使用云服务器,还需配置安全组规则允许对应端口的入站流量。二、内核网络参数调优
修改/etc/sysctl.conf优化网络性能,关键参数包括:
net.ipv4.tcp_tw_reuse=1),减少TIME_WAIT状态的连接占用;net.ipv4.tcp_window_scaling=1),提升大数据量传输效率;net.core.somaxconn=65535),避免高并发下连接被拒绝;net.ipv4.ip_local_port_range="1024 65535"),支持更多并发外出连接;net.ipv4.tcp_fastopen=3),减少握手延迟。sysctl -p使配置生效。三、GitLab专属配置优化
/etc/gitlab/gitlab.rb中,根据CPU核心数设置Unicorn worker数量(unicorn['worker_processes'] = CPU核心数),提升并发处理能力;优化Nginx的keepalive超时(nginx['keepalive_timeout'] = 65),减少频繁建立连接的开销;启用HTTP/2(nginx['ssl_protocols'] = "TLSv1.2 TLSv1.3"),提升传输效率。gitlab_rails['redis_cache_instance'] = "redis://127.0.0.1:6379"),加速数据读取(如用户会话、仓库元数据),减少数据库压力;若需更高性能,可使用Memcached替代Redis。/etc/ssh/sshd_config,启用SSH密钥认证(PubkeyAuthentication yes)并禁用密码认证(PasswordAuthentication no),提升登录安全性;同时调整MaxStartups(如MaxStartups 10:30:60),防止过多并发SSH连接导致服务崩溃。四、高可用性与负载均衡
upstream gitlab {
server 192.168.1.101:8080;
server 192.168.1.102:8080;
}
server {
listen 80;
location / {
proxy_pass http://gitlab;
}
}
此配置可将请求均匀分发至后端GitLab实例,提升整体吞吐量。五、监控与维护
iftop(实时查看接口流量)、nethogs(按进程统计流量)、tcpdump(抓取包分析)等工具,监控GitLab服务器的网络流量,及时发现异常流量(如DDoS攻击)。iperf(测试带宽)、Netperf(测试TCP/UDP性能)等工具,定期评估网络性能,识别瓶颈(如带宽不足、延迟高)。log_level = "info",生产环境可设为warn或error),减少不必要的日志输出;配置日志轮转(log_rotate_frequency = 'daily'、log_max_size = '200MB'),避免日志文件过大占用磁盘空间;定期清理无用数据(如旧仓库、过期备份),减少数据库负担。