了解构建监视器,提升构建性能

Mariano Obludzyner
Mariano Obludzyner / 3月 01 2021
了解构建监视器,提升构建性能

构建性能和构建优化是计算机软件开发的重要部分。除了提升构建速度(毕竟,缩减编译时间是我们的专长),还可以通过其他因素来优化构建,使其尽可能平稳、轻松地运行。这也是我们创建构建监视器的原因,我们的解决方案致力于全方位地优化构建,不仅仅提升速度,更要优化构建性能。不过,所有的工具应该予以正确使用。

在这篇博文中,我们想介绍一些优化使用构建监视器的建议和技巧。但是首先,简要介绍一下什么是构建监视器

顾名思义,构建监视器可以直观地监视构建性能,使用流畅直观的图形  UI  替换以往的文本输出,轻松查看构建记录,团队成员可以方便地共享、重播结果。此外,还有彩色的条形图显示构建的进度,如需查看旧的文本输出,也可以点击获取。另外,还有项目的展示,构建监视器清楚地区分了每个项目/配置的标准输出(包括警告和错误消息)。最后是摘要视图,我们可以在一个界面查看当前构建的所有信息和统计数据的高级概述。

尽管构建监视器已经是一个非常直观的界面,但是不乏一些使用技巧。所以,话不多说,我们切入正题。

 

1、连接问题——连接需要稳定。下图中的红线表示连接状况,切记要检查你的连接。

Connectivity-issues_Build_Monitor

 

2、带宽问题——建议使用 1000 Mbps。尽量使用局域网,避免使用  WIFI。尽可能少地使用 VPN,或者联系您的客户成功经理(Customer Success Manager),了解如何更好地设置居家办公 VPN。Bandwidth-issues_Build_Monitor

 

3、远程条形图——如果远程条形图持续且显著地长于本地条形图,这可能与低带宽有关。当远程条形图比本地长 20-30% 时,尝试减少启动执行任务计算机上的负载。更改设置,并降低启动程序的 CPU 核心利用率。

Remote-bars_Build_Monitor

 

4、端口——如果构建未进行分发,可能与端口有关。请检查设置,并确保使用的是推荐设置。

Ports_Build_Monitor

 

5、依赖关系——识别因依赖关系而出现缺口的构建。这是正常情况,但是如果一个构建没有依赖关系,却存在缺口,则需要调查具体原因。请随时联系客户成功经理协助调查。

Dependencies-_Build_Monitor

因依赖关系造成的缺口Unexplained-gaps_Build_Monitor

不知名原因的缺口

 

6、准备执行的任务和正在执行的任务——两者需要保持平衡。为了保证足够的 Helper Agent,这两个指标是重要的参考。如果您的 Helper Agent 数量正确,却未被完全使用,请联系您的客户成功经理。

Ready-and-Active-tasks_Build_Monitor

 

7、预测执行——正确使用预测执行来优化构建,即使是独立(在一台机器上)使用时也是如此。即便在单一机器上运行,预测执行也可帮助并行执行串行任务。

Predictive-execution_Build_Monitor

 

8、准备构建任务——如果您发现 “准备构建任务”的条形图很长,请联系您的客户成功经理。这可能与简单的设置更改有关。

Preparing-build-task_Build_Monitor

 

9、可使用的 Helper Agent——如果您没有使用所有可用的 Helper Agent,却看到有任务未能分发执行,请与客户成功经理联系,他将帮助您更改设置并进行优化。

最后

希望上述的技巧可以帮助您优化构建性能。构建优化是一项必备的技能,构建监视器是其中重要的辅助工具。我们为这个工具感到自豪,也相信它会成为您优化构建的最佳战友。诚挚地邀请您尝试使用,如有任何问题,请随时与我们联系。

免费下载Incredibuild

订阅博客

阅读 Incredibuild 独家内容

Mariano Obludzyner

For the last 15 years, Mariano has been helping high tech companies like Clicktale, Bringg, and Leverate, achieve success with their customers, decrease churn, increase revenue, and facilitate growth. Mariano is a customer-centric executive with extensive experience in building and leading global multidisciplinary customer-facing teams. At Incredibuild he leads the Customer Success team to exceptional results. His focus on fulfilling customers' needs guides him through his journey to satisfy his customers and to offer them the best technology available in the market today.