还是上次帮人弄的, 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 上面有类似经历的么?这个到底该怎么破?
1
privil 2017-02-19 14:34:47 +08:00
算了下一天就 4.6GB 的数据,一年 1.6TB 应该不算药丸, gitlab 确实很复杂啊。
|
2
chairuosen 2017-02-19 14:42:41 +08:00
gitlab 好像所有的依赖服务的配置都是由 gitlab 某个配置文件+模板生成的,你得改 gitlab 的配置文件,好象是 /etc/gitlab/gitlab.rb
|
3
ETiV 2017-02-19 14:55:35 +08:00 via iPhone
grep 搜关键字改吧,估计改错了地方
|
4
shijingshijing OP @chairuosen 谢谢了,就是除了 postgresql.conf 之外,还有一个总的配置文件 gitlab.rb 来存放各种参数?我先看看去。
@ETiV 没有改错地方, GitLab 有很多奇葩的地方,唉,值得吐槽的地方太多了。 |
5
shijingshijing OP |
6
leopku 2017-02-19 17:12:41 +08:00
赶脚 LZ 弄错方向了
如果 gitlab 一定要改 postgres 配置文件,应用和数据库分开部署的情况它怎么玩转?(我们目前就是 gitlab 和 postgres 分开部署的) 建议先单独挖一下 postgres |
7
feuvan 2017-02-19 18:06:37 +08:00
@shijingshijing 用 bundled pg 就是模板输出 conf ,统一管理
|
8
shijingshijing OP |
9
Sharuru 2017-02-19 18:17:52 +08:00
=_,= 那个配置还会检测文件夹权限啥的,我以前把 git-data 设置成 775 方便 Redmine 读 repo 库,结果重启的的时候 Gitlab 由于检测到权限不是 770 就直接 HOLD 在那里了……
|
10
shijingshijing OP @Sharuru 新版改了,直接给你恢复初始状态了,也是 nb
|
11
Sharuru 2017-02-19 19:20:06 +08:00 via Android
@shijingshijing 咱是挂在 Docker Volume 的,所以它改不了 2333
|
13
shijingshijing OP @Sharuru 不会 docker ,那啥,总感觉 docker 有种带套 xx 的感觉。。。
|