You need to enable JavaScript to run this app. Docker部署GitLab CE 13.7.7 HTTPS推送速度过慢 克隆正常问题求助
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署GitLab CE 13.7.7 HTTPS推送速度过慢 克隆正常问题求助

GitLab Docker部署下HTTPS推送速度异常排查修复

异常特征匹配

  • 推送速度稳定在4KiB/s左右,峰值仅54KiB/s,远低于用户20Mbps带宽的正常能力
  • 同网络下仓库克隆速度正常,说明基础网络连通性不存在硬故障
  • 部署环境为Docker容器运行的gitlab/gitlab-ce:13.7.7-ce.0,客户端为git version 2.29.0
  • 推送时的典型日志输出为:Writing objects: 17% (22/128), 24.00 KiB | 4.00 KiB/s

核心修复路径

1. 优先解决Docker网络MTU不匹配问题

这类克隆正常、推送极慢的场景,绝大多数是Docker bridge网络MTU和实际链路不匹配导致的。Docker默认bridge网络的MTU值固定为1500,如果宿主机实际网络链路(如云厂商VPC、PPPoE拨号、VPN隧道)的MTU低于1500,会导致上行推送时的大IP包频繁触发分片、丢包重传;而拉取操作因为是服务端主动发流,会自动适配链路MTU,所以克隆速度表现正常。
操作步骤:

  • 登录宿主机,执行ip link show查看当前对外上行网卡的实际MTU值
  • 编辑Docker配置文件/etc/docker/daemon.json,新增和宿主机MTU一致的配置项"mtu": 实际MTU数值
  • 重启Docker服务后重建GitLab容器,保证容器内的网络MTU和链路完全匹配
  • 验证方式:在GitLab容器内执行ping -s 包大小 -M do 公网地址,找到不会触发分片的最大包长,反推正确的MTU值
  • 配套调整TCP缓冲区参数,通过Docker启动参数传入--sysctl net.core.wmem_default=262144、--sysctl net.ipv4.tcp_window_scaling=1,保证TCP上行窗口满足传输速率要求

2. 优化GitLab内置Nginx的HTTPS传输参数

13.7版本的GitLab内置Nginx默认配置针对大带宽场景做了裁剪,小带宽场景下会因为缓冲区过小导致频繁的读写等待:

  • 进入GitLab容器,编辑配置文件/etc/gitlab/gitlab.rb,新增如下配置:
    • nginx['client_body_buffer_size'] = 10M:放大客户端上传请求的缓冲区,避免频繁写临时文件
    • nginx['ssl_session_cache'] = 'shared:SSL:10m':复用SSL会话,减少每次推送的SSL握手开销
    • nginx['tcp_nopush'] = 'on'、nginx['tcp_nodelay'] = 'on':开启TCP传输优化,避免小包合并带来的延迟
  • 执行gitlab-ctl reconfigure让配置生效

3. 降低推送链路的冗余IO开销

GitLab 13.7版本在HTTPS推送链路中,默认会在Workhorse层对每个上传的对象做实时的临时缓存落盘,在Docker overlay2存储驱动的磁盘IO性能一般的场景下,会成为上行速度的瓶颈:

  • 在gitlab.rb中调整参数,关闭无意义的缓存冗余:
    • gitlab_workhorse['proxy_headers'] = 'X-Forwarded-For'
    • gitlab_shell['upload_pack_archive_limit'] = 0
  • 调整完成后重启GitLab服务,避免在推送链路中触发额外的磁盘读写等待

4. 客户端侧参数验证

在服务端配置调整前,可以先通过客户端参数排除本地干扰:

  • 执行git config --global http.postBuffer 524288000,把默认仅1MB的HTTP推送缓冲区调整为500MB,避免大文件上传时本地频繁分片
  • 执行git config --global http.version HTTP/1.1,排除部分网络环境下HTTP/2流控规则对上行速度的限制
  • 调整完成后重新测试推送速度,定位问题是出在客户端还是服务端

内容的提问来源于stack exchange,提问作者user630702

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.02 12:57:03