TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Disk I/O bottlenecks in GitHub Actions

106 pointsby jacobwgabout 2 months ago

10 comments

jacobwgabout 2 months ago
A list of fun things we&#x27;ve done for CI runners to improve CI:<p>- Configured a block-level in-memory disk accelerator &#x2F; cache (fs operations at the speed of RAM!)<p>- Benchmarked EC2 instance types (m7a is the best x86 today, m8g is the best arm64)<p>- &quot;Warming&quot; the root EBS volume by accessing a set of priority blocks before the job starts to give the job full disk performance [0]<p>- Launching each runner instance in a public subnet with a public IP - the runner gets full throughput from AWS to the public internet, and IP-based rate limits rarely apply (Docker Hub)<p>- Configuring Docker with containerd&#x2F;estargz support<p>- Just generally turning kernel options and unit files off that aren&#x27;t needed<p>[0] <a href="https:&#x2F;&#x2F;docs.aws.amazon.com&#x2F;ebs&#x2F;latest&#x2F;userguide&#x2F;ebs-initialize.html" rel="nofollow">https:&#x2F;&#x2F;docs.aws.amazon.com&#x2F;ebs&#x2F;latest&#x2F;userguide&#x2F;ebs-initial...</a>
评论 #43507687 未加载
评论 #43508480 未加载
评论 #43515128 未加载
评论 #43518964 未加载
评论 #43508682 未加载
ValdikSSabout 2 months ago
`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.
评论 #43506999 未加载
评论 #43508696 未加载
评论 #43507900 未加载
评论 #43509478 未加载
crmdabout 2 months ago
This is exactly the kind of content marketing I want to see. The IO bottleneck data and the fio scripts are useful to all. Then at the end a link to their product which I’d never heard of, in case you’re dealing with the issue at hand.
评论 #43508470 未加载
suryaoabout 2 months ago
TLDR: disk is often the bottleneck in builds. Use &#x27;fio&#x27; to get performance of the disk.<p>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.<p>That&#x27;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.<p>I love the Depot content team though, it does a lot of heavy lifting.<p>[0] <a href="https:&#x2F;&#x2F;www.warpbuild.com">https:&#x2F;&#x2F;www.warpbuild.com</a>
miohtamaabout 2 months ago
If you can afford, upgrade your CI runners on GitHub to paid offering. Highly recommend, less drinking coffee, more instant unit test results. Pay as you go.
评论 #43507398 未加载
评论 #43507407 未加载
crohrabout 2 months ago
I&#x27;m maintaining a benchmark of various GitHub Actions providers regarding I&#x2F;O speed [1]. Depot is not present because my account was blocked but would love to compare! The disk accelerator looks like a nice feature.<p>[1]: <a href="https:&#x2F;&#x2F;runs-on.com&#x2F;benchmarks&#x2F;github-actions-disk-performance&#x2F;" rel="nofollow">https:&#x2F;&#x2F;runs-on.com&#x2F;benchmarks&#x2F;github-actions-disk-performan...</a>
larussoabout 2 months ago
So I had to read to the end to realize it’s a kinda infomercial. Ok fair enough. Didn’t know what depot was though.
nodesocketabout 2 months ago
I just migrated multiple ARM64 GitHub action Docker builds from my self hosted runner (Raspberry Pi in my homeland) to Blacksmith.io and I’m really impressed with the performance so far. Only downside is no Docker layer and image cache like I had on my self hosted runner, but can’t complain on the free tier.
评论 #43508155 未加载
kaysonabout 2 months ago
Bummer there&#x27;s no free tier. I&#x27;ve been bashing my head against an intermittent CI failure problem on Github runners for probably a couple years now. I think it&#x27;s related to the networking stack in their runner image and the fact that I&#x27;m using docker in docker to unit test a docker firewall. While I do appreciate that someone at Github did actually look at my issue, they totally missed the point. <a href="https:&#x2F;&#x2F;github.com&#x2F;actions&#x2F;runner-images&#x2F;issues&#x2F;11786" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;actions&#x2F;runner-images&#x2F;issues&#x2F;11786</a><p>Are there any reasonable alternatives for a really tiny FOSS project?
r3tr0about 2 months ago
we are working on a platform that let&#x27;s you measure this stuff in real-time for free.<p>you can check us out at <a href="https:&#x2F;&#x2F;yeet.cx" rel="nofollow">https:&#x2F;&#x2F;yeet.cx</a><p>we also have a anonymous guest sandbox you can play with<p><a href="https:&#x2F;&#x2F;yeet.cx&#x2F;play" rel="nofollow">https:&#x2F;&#x2F;yeet.cx&#x2F;play</a>