This blog post has been repurposed and reposted from an earlier version originally published on SamKnows.com. Content may have been updated for clarity and relevance.
Anyone familiar with PC gaming will have come across Steam, the game distribution network operated by Valve. Steam originally began in 2002 as a way to deliver patches for Valve’s own games but rapidly expanded into a full-fledged online store for games produced by Valve and various publishers. And business is booming—in 2022, Steam reached around $7.7 billion in full game revenue.
Steam’s rise to becoming a leading online game distribution platform was made possible thanks to the global rollout of high-speed broadband services. However, the games delivered through Steam have also increased in size dramatically over the years, with some games now exceeding 75GB! Even on a 100Mbps broadband connection, a 75GB game would take you around 2 hours to download (assuming you could consistently hit the full available speed).
With over 150 million registered users and games measuring in tens of gigabytes, it is easy to see how Steam generates a lot of traffic. At the time of writing, Steam’s peak network utilization was averaging 5.7 Tbps (5,700 Gbps). Some ISPs, such as MyRepublic in Australia, recognize the importance of Steam to gamers and use average Steam download speeds in their advertising.
How Steam Delivers Content
Steam relies heavily on CDNs (Content Delivery Networks) to deliver games to end users. In fact, testing revealed that Steam uses multiple CDNs simultaneously, including Level3, Akamai, EdgeCast (Verizon), Stackpath, and their own CDN for content delivery.
Steam divides geographic service regions into “cells,” assigning each cell a list of about 20 servers. The U.K., for example, is split into two cells—London and Manchester—both primarily served by Valve’s CDN, with what appear to be backups using StackPath (in Amsterdam) and Edgecast (in London). This mapping reveals a lot about their network topology. Interestingly, some large ISPs like Verizon, Telus, and Shaw have customized cells that appear to bias users toward specific CDN locations. It seems that Steam relies less on introducing caches inside their networks (like Netflix and YouTube do), which could make customers of these ISPs more susceptible to performance issues if a problem arises at one of these CDN locations.
The Steam client downloads a game in “chunks” using multiple parallel TCP sessions to a selection of the servers in the user’s cell, which helps optimize performance. Testing has shown that the Steam client typically uses six parallel TCP sessions. Using multiple parallel sessions to multiple CDNs helps mitigate congested paths between a user’s ISP and any one specific CDN.
How Steam Was Measured
For this research, a Steam-specific measurement client was developed to run on SamKnows devices (now known as Connected Devices) and routers running the SamKnows Router SDK. This Steam client mimics the behavior of the real Steam client by logging into the Steam network, retrieving its local Cell ID, and then looking up a list of available servers and chunks for the cell the user resides in. An offload server helped centrally collate server lists and chunk lists for each cell. Upon obtaining the server lists and chunk lists, the client fetches the chunks using six parallel TCP sessions for a fixed duration of ten seconds.
Each test run captured the following information:
- The cell that served content for the user
- The average DNS lookup time for the servers in the cell
- The average round-trip latency to servers in the cell
- The total download speed across all parallel TCP sessions
The data was then analyzed by comparing the download speeds measured on Steam’s CDN against those observed on high-capacity test servers. This helped provide a comprehensive view of Steam’s performance across ISPs.
How Steam Measures up in the U.K.
Over a four-day period in August 2018, approximately 200 SamKnows devices were used to test home broadband performance across the U.K. The devices were testing the fastest 76 Mbps FTTC (VDSL) from BT, Sky, TalkTalk, and Vodafone, as well as 200 Mbps and 350 Mbps cable products from Virgin Media.
The results showed that all of the major U.K. ISPs performed similarly when downloading from Steam, but at 50–70% of regular download speed test results. This suggests that the Steam CDN can struggle to saturate the link at higher speeds. Of course, in terms of absolute speeds, Virgin Media’s products stood out with their faster baseline packages (50% of 350 Mbps is a lot faster than 50% of 76 Mbps).
Latency measurements revealed consistent results across ISPs, with low double-digit round-trip times. Performance was evenly distributed between the London and Manchester cells.
Figure 1 below shows the average download speed over Steam versus the average download speed to the dedicated servers.
Conclusion
The increasing size of modern games underscores the importance of download speeds for gamers. Some ISPs already advertise their performance using Valve’s high-level data.
Steam’s use of downloading data from multiple CDNs simultaneously is a unique approach compared to video streaming. While this strategy has limited practical impact in a market like the U.K., it could benefit regions with less open peering arrangements, such as parts of Southeast Asia and South America.