California Public Utilities Commission’s (CPUC) CalSPEED Multitest
The California Public Utilities Commission’s (CPUC) Measurement Swiss Army Knife (MSAK) and CalSPEED programs were established to measure the reliability, quality, and availability of network services throughout the State of California.
As part of these efforts, this web-based tool runs two sequential speed measurements: the MSAK measurement tool and the CalSPEED measurement tool (powered by Ookla’s Speedtest Custom software). The tool is freely accessible to the public and can be used on standard computers, laptops, and mobile devices through various web browsers. Please be aware that your firewall or other network settings could affect or block your connection to the test servers.
The tool measures key internet performance metrics and keeps the history of previous measurement results in one place.
Network Performance Metrics
When we use the internet, several factors influence how fast and reliable our experience is. We measure network performance using four key metrics: ping, download speed, upload speed, and jitter. Here’s what each of these means:
- Ping: Ping or latency measures how quickly a small piece of data travels from your device to a server on the internet and back again. It’s like sending a quick signal to check if everything is working. A lower ping value means a faster response time, which is especially important for activities like online gaming or video conferencing. High ping can cause delays and make interactions feel sluggish. Ping is measured in milliseconds (ms).
- Download Speed: Download speed measures how quickly data is transferred from the internet to your device. This is the most familiar metric, as it affects how fast web pages load, how quickly videos stream, and how soon large files can be downloaded. Higher download speeds mean less waiting time and smoother performance. Download speed is measured in Megabits per second (Mbps).
- Upload Speed: Upload speed measures how fast data can be sent from your device to the internet. This is important for actions like sending emails, posting photos or videos, and making video calls. Although we often focus more on download speeds, fast upload speeds are essential for sharing information. Upload speed, like download speed, is measured in Megabits per second (Mbps).
- Jitter: Jitter measures the consistency of data flow over a network. It indicates how much the time it takes for data to travel varies. High jitter can cause problems with real-time applications, like video calls or online games, where smooth and consistent data delivery is crucial. For example, jitter under 30 ms is generally acceptable for most applications, while jitter above 50 ms can cause noticeable disruptions, a video call may freeze or become distorted, and audio may cut in and out. Jitter is measured in milliseconds (ms).
For a complete list of data collected, please refer to our Privacy Policy.
History
The History section keeps a detailed record of your previous network performance measurements, allowing you to track how your connection performs over time and across multiple devices. It provides a comprehensive list you can export to help you compare results, identify patterns, and monitor changes in your internet speed and stability. This information provides valuable insights for troubleshooting, optimizing your network, or discussing issues with your internet service provider. To export, select the measurements you want using the checkboxes in the History table (the checkbox in the table header selects every row on the page), then click Export Results to download them as a CSV file.
Server Regions
Before starting a measurement, you can choose which server region to measure against using the Select Server Region option. Both the Ookla and MSAK measurements in a run use servers in the region you select:
- West (default): San Francisco, California
- East: Ashburn, Virginia
Results depend in part on the distance and network path between your device and the measurement server. A closer server generally shows lower latency and may show higher speeds, so measurements against the two regions can differ even on the same connection. The West region is the default and is closest for most California users. Testing against the East region can show how your connection performs when reaching services hosted farther away. The server region used for each measurement is saved with your results and shown in History and Analytics.
Measurement Configuration
For transparency and reproducibility, the active configuration parameters for each measurement engine are listed below.
MSAK (Measurement Swiss Army Knife)
MSAK is an open-source throughput measurement tool developed by Measurement Lab (M-Lab). The configuration below reflects the exact parameters used during each measurement run on this platform.
| Parameter | Value | Notes |
|---|---|---|
| Client ID | calspeed-msak |
Identifies this deployment in M-Lab telemetry |
| Client version | 0.0.1 |
Application-level version string passed to the server |
| Parallel streams | 3 | Three simultaneous TCP streams per direction |
| Measurement duration | 10 seconds | Per direction (download and upload measured separately) |
| Congestion control | BBR | TCP BBR requested via client.cc = 'bbr' |
| Transport | WebSocket over TLS (wss://) |
Encrypted connection; falls back to ws:// if unavailable |
| Server endpoint | wss://msakserver.calspeed.org (West)wss://eastmsakserver.calspeed.org (East) |
CalSPEED-hosted MSAK servers; the one used depends on the selected server region |
| Download path | /throughput/v1/download |
WebSocket endpoint for download measurement |
| Upload path | /throughput/v1/upload |
WebSocket endpoint for upload measurement |
| Locate service | locate.measurementlab.net/v2/nearest/msak/throughput1 |
M-Lab's geo-based server selection API; overridden to use the CalSPEED server for the selected region |
| Server region | West (San Francisco, California) or East (Ashburn, Virginia) | Chosen by the user before each measurement (West is the default); M-Lab locate results are not used |
| Throughput calculation | Aggregate goodput | Sum of bytes received across all streams, divided by elapsed time, multiplied by 8 to convert to Mbps |
| Jitter calculation | Average TCP RTTVar | Mean of the per-stream RTT variance reported in TCP_INFO kernel measurements |
| Retransmission tracking | Average retransmission ratio | Mean of BytesRetrans ÷ BytesSent per stream, from TCP_INFO; reported for diagnostics |
| Library file | msak.js |
Compiled MSAK client library bundled with this application |
| Library MD5 | 7a31718c1df2d1f130af97a67726c0dd |
Hash of the deployed dist/msak.js for reproducible verification |
MSAK source code and protocol specification are publicly available at github.com/m-lab/msak. Full methodology documentation is published at measurementlab.net/tests/msak.
Ookla Speedtest Custom
The CalSPEED measurement is powered by Ookla's Speedtest Custom, a commercially licensed speed measurement platform. Because Speedtest Custom is proprietary software, its internal server-selection algorithm, stream management, and scoring formula are not publicly disclosed. The configuration parameters listed below reflect what is directly observable from this deployment.
| Parameter | Value | Notes |
|---|---|---|
| Measurement engine | Ookla Speedtest Custom | Commercial platform licensed by CPUC for CalSPEED |
| Embed URL | https://calspeed.speedtestcustom.com |
Loaded in a sandboxed <iframe>; results are passed to this page via postMessage |
| Result delivery | window.postMessage |
Origin strictly validated against https://calspeed.speedtestcustom.com before any result is accepted |
| Metrics reported | Download, Upload, Latency (ping), Jitter | Reported in Mbps (speeds) and ms (latency/jitter) |
| Result identifier | ooklaTestID |
UUID assigned by Ookla to each measurement run; uniquely identifies the result and can be used to look up or reference individual measurements |
| Server location | San Francisco, CA (West) or Ashburn, VA (East) | CalSPEED Ookla server for the selected server region; reported in measurement results as serverName |
| Server sponsor | CalSPEED Ookla | Server is operated under the CalSPEED program; reported in measurement results as serverSponsor |
| Stream count | Ookla proprietary (not disclosed) | Ookla dynamically adjusts parallel TCP streams based on measured line conditions |
| Scoring formula | Ookla proprietary (not disclosed) | Internal algorithm; public methodology overview is linked below |
| Public methodology | ookla.com/resources/guides/speedtest-methodology | Ookla's published high-level description of the Speedtest measurement approach |
Last reviewed: October 2026