• REPO SYNC开多线程托代码建议


    android代码越来越大 现在从厂商下载的源码都有50G左右了。如果到了项目后期预计妥妥的100G以上. 然后开发直接从gerrit服务器托代码就会遇到托代码卡顿问题.

     

    1.在服务器gerrit服务器不卡顿的情况下笔者测试过,

      1) 不使用本地mirror :  repo sync -cj3 -d 和 repo  sync -cj16的托代码时间差 3-5min 左右. 

      2) 使用本地mirror: repo sync -cj3 -d 和 repo  sync -cj16的托代码时间差 30s 左右.

     

    2.在服务器卡顿的情况下:

      gerrit服务器卡起来了,开多少都会继续卡顿.开的越大,托代码越卡.

     

     

    2. sync -jX : 意思是本地使用多线程一次性从服务器上拖 多个仓库. 

    3. gerrit服务器端默认一次性后台队列是12个。服务器代码经历打包,传送两个阶段到达客户端。 比较好的状态是打包完成后传送很快,这样就可以开始下一个git仓库的打包和传送。

      打包是gerrit本地处理,速度主要看cpu和磁盘性能,正经一点的服务器这里都没啥问题。(PS:像我老东家的代码服务器就不行,8线程16G内存压根扛不住。。。。)

      传送主要就是看带宽了,这个时候问题就来了。公司网普遍是千兆网,网速100M/S 左右。坑一点的公司还是百兆瓦,10M/S左右。 根本不能很快的将gerrit服务器打包好的代码传送过来。

      就会造成gerrit服务器后台task排队,后台队列一共就12个。排队候后面排不上队列的任务 ,就会一直卡着不动。表现就是托代码拖不动, 提交代码也提交不了

      造成的恶性循环就是越拖越卡,越卡 sync -j100000 开的越大, 开的越大还是越卡................

      

      

  • 相关阅读:
    mybatis mybatis-generator 代码自动生成工具使用
    spring初步
    spring基于xml和注解配置事务
    强软弱虚四大引用
    线程通信的几种实现方式
    java8新特性之方法引用和构造器引用
    JAVA四大内置函数
    JAVA四大内置函数
    JSR303的使用
    设计模式之建造者模式
  • 原文地址:https://www.cnblogs.com/yaoyuanchun/p/13590677.html
Copyright © 2020-2023  润新知