(评论)
(comments)

原始链接: https://news.ycombinator.com/item?id=43506574

Hacker News 的讨论集中在 GitHub Actions 中磁盘 I/O 瓶颈导致构建速度缓慢的问题。许多用户提出了加快 `apt` 安装和整体性能的解决方案。 `ValdikSS` 建议使用 `eatmydata` 在安装软件包期间禁用 `fsync()` 调用。`nijave` 建议在操作系统级别禁用 `fsync`,认为在临时 CI 节点上出现数据损坏是可以接受的。`wtallis` 建议完全从 `tmpfs`(内存文件系统)运行 CI 容器。 `jacobwg` 提到了使用内存写入缓存和 `noatime` 等标志进行实验。`candiddevmike` 推广了 EtchaOS,这是一个针对 CI 运行器优化的、小型、不可变的内存操作系统。`suryao` 认为最终的解决方案是使用直接连接到计算单元的高吞吐量和 IOPS 的 NVMe 存储。他们推崇 WarpBuild,它使用了这种方法,并将其与具有更高延迟的网络附加磁盘进行了对比。

相关文章
  • GitHub Actions 中的磁盘 I/O 瓶颈 2025-03-28
  • GitHub Actions 的痛点 2025-03-20
  • Ceph:1 TiB/s 之旅 2024-01-21
  • (评论) 2025-03-17
  • (评论) 2024-05-02

  • 原文
    Hacker News new | past | comments | ask | show | jobs | submit login
    Disk I/O bottlenecks in GitHub Actions (depot.dev)
    18 points by jacobwg 1 hour ago | hide | past | favorite | 7 comments










    `apt` installation could be easily sped-up with `eatmydata`: `dpkg` calls `fsync()` on all the unpacked files, which is very slow on HDDs, and `eatmydata` hacks it out.


    Really if you could just disable fsync at the OS level. A bunch of other common package managers and tools also do. Docker is a big culprit

    If you corrupt a CI node, whatever. Just rerun the step



    CI containers should probably run entirely from tmpfs.


    We're having some success with doing this at the block level (e.g. in-memory writeback cache).


    We built EtchaOS for this use case--small, immutable, in memory variants of Fedora, Debian, Ubuntu, etc bundled with Docker. It makes a great CI runner for GitHub Actions, and plays nicely with caching:

    https://etcha.dev/etchaos/



    I'd love to experiment with that and/or flags like `noatime`, especially when CI nodes are single-use and ephemeral.


    TLDR: disk is often the bottleneck in builds. Use 'fio' to get performance of the disk.

    If you want to truly speed up builds by optimizing disk performance, there are no shortcuts to physically attaching NVMe storage with high throughput and high IOPS to your compute directly.

    That's what we do at WarpBuild[0] and we outperform Depot runners handily. This is because we do not use network attached disks which come with relatively higher latency. Our runners are also coupled with faster processors.

    I love the Depot content team though, it does a lot of heavy lifting.

    [0] https://www.warpbuild.com







    Join us for AI Startup School this June 16-17 in San Francisco!


    Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact



    Search:
    联系我们 contact @ memedata.com