V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
shijingshijing
V2EX  ›  GitLab

GitLab 每隔 3 秒写入 160k 数据,居然不让改配置,求达人讲解

  •  
  •   shijingshijing · 2017-02-19 14:11:19 +08:00 · 3342 次点击
    这是一个创建于 2843 天前的主题,其中的信息可能已经有所发展或是发生改变。

    还是上次帮人弄的, SVN 转 Git 做为内网的配置管理服务器,现在一个问题是 GitLab用的postgreSQL某个服务 每隔 3 秒就写 160K 数据,什么都没做,都不接入网络,没有任何访问,硬盘灯 3 秒一闪一闪的,强迫症真不能忍!

    dstat 跟踪结果:

    iotop 结果:累计下来写入的量还真不少, jbd2 日志也跟着受累

    估计是日志什么的东西,翻遍了 Google, StackOverflow , ServerFault ,最终都指向了postgresql的 Automatic Vacuuming 时间间隔太短造成的,马上修改 postgresql.conf 里面的设定:
    /var/opt/gitlab/postgresql/data/postgresql.conf

    data 文件夹权限 700 , postgresql.conf 的权限是 644 , chmod 修改权限之后,顺利编辑 postgresql.conf ,然后复原权限。最后使用 gitlab-ctl reconfigure 载入新的配置。奇葩的是 gitlab 检测到了 postgresql.conf 发生了改变,给我复原了,然后现在服务器还是 3 秒写一次,这样下去硬盘药丸啊。。。

    V2 上面有类似经历的么?这个到底该怎么破?

    13 条回复    2017-02-19 21:50:31 +08:00
    privil
        1
    privil  
       2017-02-19 14:34:47 +08:00
    算了下一天就 4.6GB 的数据,一年 1.6TB 应该不算药丸, gitlab 确实很复杂啊。
    chairuosen
        2
    chairuosen  
       2017-02-19 14:42:41 +08:00
    gitlab 好像所有的依赖服务的配置都是由 gitlab 某个配置文件+模板生成的,你得改 gitlab 的配置文件,好象是 /etc/gitlab/gitlab.rb
    ETiV
        3
    ETiV  
       2017-02-19 14:55:35 +08:00 via iPhone
    grep 搜关键字改吧,估计改错了地方
    shijingshijing
        4
    shijingshijing  
    OP
       2017-02-19 14:59:52 +08:00
    @chairuosen 谢谢了,就是除了 postgresql.conf 之外,还有一个总的配置文件 gitlab.rb 来存放各种参数?我先看看去。


    @ETiV 没有改错地方, GitLab 有很多奇葩的地方,唉,值得吐槽的地方太多了。
    shijingshijing
        5
    shijingshijing  
    OP
       2017-02-19 15:14:45 +08:00
    @chairuosen 谢谢了,在你指定的位置找到了下列设定,我稍后改完了在试试看。比较好奇的是为什么会这样做,难道不信任 postgresql.conf 。

    leopku
        6
    leopku  
       2017-02-19 17:12:41 +08:00
    赶脚 LZ 弄错方向了

    如果 gitlab 一定要改 postgres 配置文件,应用和数据库分开部署的情况它怎么玩转?(我们目前就是 gitlab 和 postgres 分开部署的)

    建议先单独挖一下 postgres
    feuvan
        7
    feuvan  
       2017-02-19 18:06:37 +08:00
    @shijingshijing 用 bundled pg 就是模板输出 conf ,统一管理
    shijingshijing
        8
    shijingshijing  
    OP
       2017-02-19 18:15:25 +08:00
    @feuvan 正解,是用模板生成的 conf ,改了模板之后,整个世界都清静了!

    @leopku 参见 7 楼的解释,我偷懒下了个 ominbus 安装包,官方的一键定制,结果就有了这个了。
    Sharuru
        9
    Sharuru  
       2017-02-19 18:17:52 +08:00
    =_,= 那个配置还会检测文件夹权限啥的,我以前把 git-data 设置成 775 方便 Redmine 读 repo 库,结果重启的的时候 Gitlab 由于检测到权限不是 770 就直接 HOLD 在那里了……
    shijingshijing
        10
    shijingshijing  
    OP
       2017-02-19 18:44:41 +08:00
    @Sharuru 新版改了,直接给你恢复初始状态了,也是 nb
    Sharuru
        11
    Sharuru  
       2017-02-19 19:20:06 +08:00 via Android
    @shijingshijing 咱是挂在 Docker Volume 的,所以它改不了 2333
    gouchaoer
        12
    gouchaoer  
       2017-02-19 21:39:24 +08:00 via Android
    @Sharuru 把数据映射到 host 的目录,别用 data volume
    shijingshijing
        13
    shijingshijing  
    OP
       2017-02-19 21:50:31 +08:00
    @Sharuru 不会 docker ,那啥,总感觉 docker 有种带套 xx 的感觉。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1020 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 22:35 · PVG 06:35 · LAX 14:35 · JFK 17:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.