AWS 云 (Windows) 中自托管 GitHub 运行器上的 npm 安装速度缓慢

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

我们在 AWS 云中的自托管 GitHub 运行器上执行 npm install 命令时遇到了缓慢的情况。这是我们的设置:

基础设施: 我们使用 terraform-aws-github-runner 模块和 Packer 图像。

环境:

  • Windows Core 2022 映像作为我们 AMI 的基础
  • PowerShell 7.1
  • 最新版本的 GitHub runner (v2.317.0)
  • Node.js 版本 v20.14.0 和 npm v10.7.0

问题:

npm install 命令在我们自托管的 GitHub 运行器上运行速度非常慢。例如,大约需要 5 分钟,而 GitHub 托管的运行器只需 1 分钟。该过程大部分时间都花在从 npm 缓存中的 tgz 文件中提取包。

采取的故障排除步骤:

  • ReFS 分区:尝试从 ReFS 分区运行所有内容。
  • 不同的 AWS 卷:尝试了从以下位置挂载的各种类型的卷 AWS 给跑步者。
  • 手动执行:克隆存储库并运行 npm install 在 EC2 实例上手动完成的操作在一分钟内完成 - 显示它 不是硬件或软件问题,而是与 GitHub 有关的问题 跑步者整合。

有什么建议吗?

node.js amazon-web-services npm github-actions windows-server
1个回答
0
投票

您可能会面临 GitHub 运行程序的 I/O 性能问题。尝试以下步骤:

  1. 增加 IOPS:确保您的 EBS 卷具有足够的 IOPS。
  2. 网络配置:检查网络设置并确保低延迟。
  3. 运行器配置:确保运行器有足够的CPU和内存。
  4. NPM 缓存:使用本地 npm 缓存来减少下载时间。

本地 npm 缓存示例:

npm config set cache C:\path\to\local\npm-cache --global
  1. 并行性:使用npm的并行安装功能:
npm install --parallel
© www.soinside.com 2019 - 2024. All rights reserved.