Diving into a secret macOS tool – networkQuality

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • server

    A place to share code and server configurations in support of the networkQuality tool (by network-quality)

  • From the article, a set of reference servers, one in Swift, one in Go:

    https://github.com/network-quality/server

  • goserver

    reference server for networkQuality/gorespsonsiveness

  • Looks like the Go implementation has been pulled out to its own repo and has been recently maintained: https://github.com/network-quality/goserver

    Also of note: looks like Apple has proposed a new IETF RFC for responsiveness and the "Round-trips Per Minute" (RPM) metric: https://github.com/network-quality/draft-ietf-ippm-responsiv...

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • Looks like the Go implementation has been pulled out to its own repo and has been recently maintained: https://github.com/network-quality/goserver

    Also of note: looks like Apple has proposed a new IETF RFC for responsiveness and the "Round-trips Per Minute" (RPM) metric: https://github.com/network-quality/draft-ietf-ippm-responsiv...

  • Looks like the Go implementation has been pulled out to its own repo and has been recently maintained: https://github.com/network-quality/goserver

    Also of note: looks like Apple has proposed a new IETF RFC for responsiveness and the "Round-trips Per Minute" (RPM) metric: https://github.com/network-quality/draft-ietf-ippm-responsiv...

  • goresponsiveness

    A draft-ietf-ippm-responsiveness client in Go.

  • Apple's "networkQuality" tool (or the open source alternative that you can run in other operating systems: https://github.com/network-quality/goresponsiveness) is very useful to understand how your connection behaves under extreme conditions, but extreme conditions is not something a home connections sees regularly, so make sure to use a combination of tools if you want to understand your home connection behaves under expected use.

    It's more of an art than a science, really, and your ISP may be optimizing for more average use cases.

    Personally I like to start with a regular web-based speed test (I'm biased towards https://speed.cloudflare.com, but any test that shows latency under load is OK, like https://www.waveform.com/tools/bufferbloat or https://fast.com[1]) and then combine it with "networkQuality" running concurrently (if possible, from a different host) and see how it impacts the numbers.

    Of course, this only makes sense if you, for example, have your own router running OpenWRT where you can enable active queue management (SQM/AQM) where you can actually do something to improve the results.

    [1] In more recent times I'm finding fast.com to be a bit unreliable, as some ISPs may treat Netflix traffic specially (like allowing for longer bursts over contracted speeds, etc. — net neutrality notwithstanding).

  • speedtest

    Component to perform network speed tests against Cloudflare's edge network (by cloudflare)

  • Apple's "networkQuality" tool (or the open source alternative that you can run in other operating systems: https://github.com/network-quality/goresponsiveness) is very useful to understand how your connection behaves under extreme conditions, but extreme conditions is not something a home connections sees regularly, so make sure to use a combination of tools if you want to understand your home connection behaves under expected use.

    It's more of an art than a science, really, and your ISP may be optimizing for more average use cases.

    Personally I like to start with a regular web-based speed test (I'm biased towards https://speed.cloudflare.com, but any test that shows latency under load is OK, like https://www.waveform.com/tools/bufferbloat or https://fast.com[1]) and then combine it with "networkQuality" running concurrently (if possible, from a different host) and see how it impacts the numbers.

    Of course, this only makes sense if you, for example, have your own router running OpenWRT where you can enable active queue management (SQM/AQM) where you can actually do something to improve the results.

    [1] In more recent times I'm finding fast.com to be a bit unreliable, as some ISPs may treat Netflix traffic specially (like allowing for longer bursts over contracted speeds, etc. — net neutrality notwithstanding).

  • ping_parse

    A python program, using curses, that provides a summary of the output of ping.

  • One thing this tool doesn’t offer is an over time component. I wrote this (it’s pretty primitive) to examine latencies over time.

    https://github.com/acolombi/ping_parse

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts