server
goresponsiveness
server | goresponsiveness | |
---|---|---|
3 | 3 | |
224 | 131 | |
0.4% | 2.3% | |
3.8 | 8.0 | |
8 months ago | 4 months ago | |
Swift | Go | |
MIT License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
server
- Network Quality Server
-
Diving into a secret macOS tool – networkQuality
From the article, a set of reference servers, one in Swift, one in Go:
https://github.com/network-quality/server
-
Bufferbloat on google wifi?
and the backends are now released for apache traffic server and others: https://github.com/network-quality/server
goresponsiveness
-
Speed Test
> which is more reflective of real world video conferencing use cases
What's more reflective of real world use cases is a hot discussion topic. :)
The networkQuality tool on macOS and other implementations(1) of the "RPM" algorithm(2) are very good to see how an Internet connection behaves under high stress. But the real world is seldom high stress (100Mbps+ connections are rarely pushed to the limit, honestly).
In your example, video conferencing indeed does simulataneous upload and download, but it's also low bandwidth (relatively speaking) and doesn't usually come close to saturating a connection. It can impacted by other traffic in the same connection though.
Neither networkQuality nor Cloudflare's speed test measure how a connection behaves with multiple users stressing a connection, which is another example of why this is a hot topic.
(1) https://github.com/network-quality/goresponsiveness
-
Diving into a secret macOS tool – networkQuality
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).
- goresponsiveness: A new way to measure network responsiveness (much more accurate that “ping”), by Apple researchers
What are some alternatives?
speedtest - Component to perform network speed tests against Cloudflare's edge network
sch_cake - Out of tree build for the new cake qdisc
public-iperf3-servers - A list of public iPerf3 servers...
ping_parse - A python program, using curses, that provides a summary of the output of ping.
blip - A tool for seeing your Internet latency. Try it at http://gfblip.appspot.com/
draft-ietf-ippm-responsiveness
goserver - reference server for networkQuality/gorespsonsiveness
draft-ietf-ippm-responsiv