# HowFastly
Binary Cache:
- Cache: <https://cache.ysun.co>
- Key: `cache.ysun.co-1:WxPYwT5g3kt9XhUhHPpNLZKI9HIOsVVAuqSHpok8Qt4=`
HowFastly measures your connection speed to the [Fastly](https://www.fastly.com)
network, running on
[Fastly Compute](https://www.fastly.com/products/edge-compute). Unlike
[fastly-debug.com](https://fastly-debug.com), which only reports connectivity
diagnostics, HowFastly measures throughput and latency, inspired by
[speed.cloudflare.com](https://speed.cloudflare.com).
- Web: <https://speed.edgecompute.app> (or <https://howfastly.edgecompute.app>)
- CLI: `nix run github:stepbrobd/howfastly#howfastly`
To install with `cargo`:
```sh
RUSTFLAGS='--cfg reqwest_unstable' cargo install howfastly
```
Or run without installing:
```sh
nix run \
--substituters 'https://cache.ysun.co' \
--trusted-public-keys 'cache.ysun.co-1:WxPYwT5g3kt9XhUhHPpNLZKI9HIOsVVAuqSHpok8Qt4=' \
github:stepbrobd/howfastly#howfastly
```
See
[`stepbrobd/inc#howfastly`](https://github.com/stepbrobd/inc/blob/master/pkgs/howfastly/default.nix)
for packaging.
Nix users: multiple public binary cache instances like
[cache.nixos.org](https://cache.nixos.org) and
[cache.ysun.co](https://cache.ysun.co) are fronted by Fastly, so speedtest
results are a fairly accurate representation of how fast binary cache fetches
will run on your connection.
Methodology:
- 25 unloaded latency pings (median, jitter, min, avg)
- Download transfers from 100 kB to 100 MB, uploads from 100 kB to 50 MB
- Per size iteration counts (8/8/6/4/2, larger transfers have lower relative
variance so fewer repeats)
- 30s time budget per direction (roughly 640 MB transferred worst case)
- Reports p90 speed with loaded latency per direction (bufferbloat)
- Server processing time calculated from samples using `Server-Timing` header
- No packet loss measurement (this would requires raw UDP probes, which
[speed.cloudflare.com](https://speed.cloudflare.com) sends through a WebRTC
TURN server native to the Cloudflare network, Fastly Compute cannot emit raw
L3 frames, and Fastly does not have freely usable TURN server)
## Sponsorship disclaimer
Not an official Fastly product or project. This project is generously supported
by [Fastly](https://www.fastly.com) through the
[Fast Forward](https://www.fastly.com/fast-forward) program. The views and
content of this project are solely those of the author and do not imply
endorsement by Fastly.
## License
[Apache-2.0](license.txt)