Performance & Infrastructure
Seven Million Streams: Inauguration Day from the Infrastructure's Point of View
At midday on January 20, a measurable fraction of the American workforce did the same thing at the same time. They opened a browser at a desk and asked the internet for live video.
The numbers that came back from the infrastructure are the kind you re-read. Akamai reported streaming peaks above seven million viewers at once. That is several times beyond any previous news event. Total traffic records fell across every network that publishes them. And, the part your colleagues experienced directly, the internet noticeably slowed. Major news sites served errors, timeouts, and apologetic holding pages through the most-watched hour.
The web’s biggest scheduled event to date doubled as its most public stress test. We spent the day watching dashboards instead of the ceremony, professional obligation being what it is. The notes are worth writing up properly, because the pattern in who stayed up transfers to every organization with a big day on its calendar.
What held, and why
The successes shared an architecture, and readers of our Beijing analysis last summer already know its shape: the edge did the delivering. Video reached those seven million streams because content delivery networks multiplied each stream from nearby nodes, with servers spread across thousands of network locations. That is the same origins-think-edges-deliver pattern that carried the Olympics.
No origin infrastructure anywhere could have served that audience directly, and none tried. Likewise, the pages that stayed responsive under crush loads were mostly the ones served as static or fully cached copies. One expensive page build, replicated cheaply to millions. It is the caching approach covered here since the memcached piece, working at national scale.
CNN’s much-discussed experiment deserves its note: a peer-to-peer assisted stream, in which viewers’ machines helped pass video to other viewers. Clever engineering that turned part of the demand into supply. Whether that model becomes standard or stays a special-occasion tool, the instinct behind it is right. At extreme scale, the only sustainable answers make the audience’s size work for you rather than against you.
What failed, and the pattern in the failures
The failures shared an architecture too. Sites that assembled pages dynamically per request hit the arithmetic we have described before. Live blogs rebuilding on every load. Article pages consulting databases for every visitor. Homepages stitched together from a dozen origin calls. Work-per-page times pages-per-second exceeded capacity, queues formed, and queues at that volume become outages.
The most instructive cases were the news sites that had CDN contracts for their video while serving their article pages hot from origin. The streams played beautifully beside error pages. Delivery strategy that covers your heaviest content but not your most-requested content has covered half the problem. The half you skipped is the half with your headlines on it.
The composed exceptions were visible too, and worth honoring. Several major properties switched to deliberately lightweight page templates as load climbed: stripped layouts, fewer origin calls, core content only. That is the degradation ladder, written in advance and climbed on schedule, and it looked exactly like what it is: professionalism. Sites that improvised the same moves under fire mostly made them an hour too late.
The office-bandwidth subplot
One wrinkle this event surfaced that Beijing did not: the audience was concentrated not just in time but in place. Millions of workplace networks, each funneling dozens or hundreds of streams through office connections sized for email.
IT departments spent the morning watching their own pipes saturate, and some of the ‘the site is down’ experience was actually ‘our office uplink is full.’ For organizations planning their own live moments, the note is about audience empathy. Your viewers’ worst-case network is part of your delivery problem. Offering a lower-bandwidth stream tier or a text-updates fallback serves the exact people trying hardest to attend.
Translating this to your calendar
Because that is the point of the exercise. Very few readers will stream an inauguration. Nearly all have a scheduled peak with the same anatomy at smaller scale: decision-release day, giving day, registration opening, the announcement with broadcast coverage attached. The transferable checklist, updated with January’s evidence:
Serve the peak statically. Whatever page the moment drives should be servable as a cached or static copy. The announcement, the results, the livestream frame: all of it, with the dynamic machinery behind it optional rather than essential. This is the single decision that most separated the day’s survivors from its casualties.
Put video on infrastructure built for video. The CDN-or-platform argument is settled at every scale now. January just notarized it. Your origin should never meet your video audience directly.
Write the lightweight template now. A stripped version of your key pages, rehearsed and one switch away. The news sites that had one looked calm on the worst hour of the day. That calm is purchasable in advance at almost no cost.
Model the concentration, not just the volume. January’s load was not just big. It was simultaneous. Estimate your peak in requests per minute at the moment of maximum attention, not visitors per day, and test against that number. The difference between the two is the difference between the plan and the outage.
The measurement sidebar nobody ran
One more note from the dashboards, because it will matter for your own moments. The day’s analytics are systematically undercounted, and knowing why matters for reading them.
JavaScript-based tracking fires when pages finish loading. Pages that timed out, errored, or were abandoned never reported. The sites that suffered most measured least. Some of the day’s most important visitor experiences, the failed ones, are invisible in the very reports that will be used to review the day.
Server logs, for once, tell the truer story: requests received versus requests served, error rates by the minute. If your organization has a big moment coming, decide in advance that the review will read both sources. Analytics for the successful experience, logs for the whole attempt. And someone should capture screenshots and timestamps as the day unfolds. Postmortems are only as honest as their evidence, and evidence for the worst hour has to be collected during the worst hour. Assign it now. Nobody remembers to assign it then.
The closing observation
Here is the sentence we would put on the whiteboard: ‘unprecedented’ traffic now arrives on a published schedule. Everyone knew the date, the hour, and the rough audience of January 20, years in advance. The results still sorted the prepared from the surprised. That tells you the sorting variable was never information.
It was whether the preparation actually happened. The modeling. The caching setup. The rehearsal. The ladder. If your organization can name a date when attention will peak, you have everything January’s casualties had, plus their example.
The next scheduled moment on your calendar is the deadline. The checklist above is the work. And ‘we watched our own big day from a dashboard, calmly’ is an experience we can report is worth the preparation. The ceremony, we are told, was also very good.