choerodon-cluster-agent 初始化时间较长

  • Choerodon平台版本:0.24.3

  • 运行环境:自主搭建

  • 问题描述:

    初始化时间较长。

下面的代码会在agent启动时,初始化所有git仓库,最坏的完成时间是git仓库数 * 100s。对于未初始化完成的项目,不能执行git相关任务。

看之前的代码,0.24.0 中是使用的异步执行方式,0.24.3 修改为同步进行。这里异步执行是存在什么问题吗?

请帮忙解答。

我们自己的devops-service服务连接有50个agent,每个agent大概有5个环境,那么agent启动过后,就相当于一次有250个连接到gitlab,会导致gitlab服务变慢或者不可用。所以这里加了睡眠时间,避免所有环境同时连接gitlab

agent 重启的时候,由于我们需要初始化的git repo较多,造成初始化的时间较长。

个人感觉可以从下面的方向去优化:

  1. 使用并发,并控制在一定的数量内。(这个数量如何计算。)
  2. 在执行git指令时,提升对应仓库初始化的优先级。(逻辑是否过于复杂。)
  3. 优化repo.Start 的消耗(是否可优化)

你们repo数量大概在多少?

20个左右,跑了10来分钟。

这里我们再优化一下