Skip to content

Nodeload Metrics

Nodeload 2 has been rocking since August, so I thought I'd give a quick report of its performance. Nodeload is the system responsible for dynamically building and delivering your Git…

Author

Nodeload 2 has been rocking since August,
so I thought I’d give a quick report of its performance. Nodeload is the
system responsible for dynamically building and delivering your Git repositories as
zip files.

Nodeload is composed of two Node.js apps. A proxy app routes download requests to one of the 32 file servers (including failovers), and proxies the zip files back to the user. The file
servers also run an archiver app that delivers git-archive contents over HTTP.

Nodeload sequence diagram

We started instrumenting various details about the running applications months
ago to help troubleshoot problems. We can see how much zipped Git data is
written, how much data is sent, memory usage, and active connection count.
When Nodeload has problems, we can use these graphs to help pinpoint the cause.

This morning, I noticed that Nodeload hit a new record: over 1GB of Git data
sent to users in a one minute duration.

![](https://github-images.s3.amazonaws.com/blog/2012/nodeload-new-record.png)

Here’s one of the cool Boundary graphs from about 15 minutes after the above
time period. It’s the throughput on the Nodeload proxy server per second, averaged
over the last 10 minutes.

![](https://github-images.s3.amazonaws.com/blog/2012/nodeload-boundary.png)

This amounts to about 70GB data sent every day. I wish we had the
amazing StatsD and Graphite setup
several years ago that we have now, for comparisons.

![](https://github-images.s3.amazonaws.com/blog/2012/nodeload_mb_daily.png)

Overall, we’ve been very happy with the Nodeload apps. Node.js makes it really
easy to prototype streaming servers through its simple and consistent streaming
APIs. Part of me would like to experiment with servers in other
languages and frameworks, but the more pragmatic side loves that we can focus on
other real problems for now.

Explore more from GitHub

Company

Company

The latest on GitHub, from GitHub.
The ReadME Project

The ReadME Project

Stories and voices from the developer community.
GitHub Copilot

GitHub Copilot

Don't fly solo. Try 30 days for free.
Work at GitHub!

Work at GitHub!

Check out our current job openings.