Github Actions - 使用自托管运行器与在同一系统上本地运行相比,工作流程很慢

问题描述 投票:0回答:1

在我的自托管运行器上运行我的工作流程时,我需要大约 1 小时 40 分钟,或者有时无法完成,而在本地同一系统上执行相同的操作需要大约 15 分钟。我确保我运行的是相同的代码,并且两个构建之间没有区别。

对于上下文,我正在通过命令行从 unity 导出一个 iOS Xcode 项目。

这是一个巨大的差异,我不确定为什么会这样。我是 CI/CD 的新手,一般来说是 devops,想了解为什么会这样。我试着在谷歌上寻找,但找不到这个问题的答案。

谢谢和干杯。

unity3d continuous-integration github-actions
1个回答
0
投票

GitHub 托管的 MacOS 运行器与现代 Apple Mac 设备相比资源非常有限。他们还在运行较旧的英特尔 CPU,Apple 甚至不再生产这些 CPU。如果将它与 MacBook Pro 等现代系统进行比较,4-8 倍的差异并不完全出乎意料。

GitHub 托管的运行器将具有:

  • 三核 CPU (x86_64)
  • 14GB 内存
  • 14GB 的 SSD 磁盘空间

与此同时,现代 MacBook Pro 的规格范围如下:

  • 12 个 CPU 内核(带 ARM/M2 SOC)
  • 19 - 38 核 GPU
  • 16 核神经引擎
  • 32 - 96GB 内存
  • 1 - 8TB 的 NVME SSD 存储空间

鉴于这种巨大的差异,您所看到的性能可能并不意外。

为了准确查明它变慢的原因,您应该分析您的代码以查看瓶颈是什么。如果您使用大量 RAM,您可能最终会遇到非常慢的交换空间。如果可能,请尝试限制代码使用的内存。


作为 GitHub 托管的运行器的替代方案,您还可以在自己的系统上自行托管运行器,这样 GitHub Actions 工作流将在您的本地系统上运行。

© www.soinside.com 2019 - 2024. All rights reserved.